Changeset 212 for trunk/src/helpers/debug.c
- Timestamp:
- Aug 22, 2002, 9:45:41 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/helpers/debug.c
r142 r212 1 2 1 /* 3 2 *@@sourcefile debug.c: … … 44 43 * GNU General Public License for more details. 45 44 */ 45 46 //#define DEBUG_SYMDUMP // enable to dump sym file to log V0.9.21 (2002-08-21) [paperino] 46 47 47 48 #define OS2EMX_PLAIN_CHAR … … 1536 1537 1537 1538 // open .SYM file 1539 #ifdef DEBUG_SYMDUMP // V0.9.21 (2002-08-21) [paperino] 1540 fprintf(LogFile,"Dump of '%s' for object %d\n",SymFileName,Object); 1541 #endif 1538 1542 SymFile = fopen(SymFileName, "rb"); 1539 1543 if (SymFile == 0) … … 1542 1546 // read in first map definition 1543 1547 fread(&MapDef, sizeof(MAPDEF), 1, SymFile); 1548 #ifdef DEBUG_SYMDUMP 1549 Buffer[0] = MapDef.achModName[0]; 1550 fread(&Buffer[1], 1, MapDef.cbModName-1, SymFile); 1551 Buffer[MapDef.cbModName] = 0x00; 1552 fprintf(LogFile,"Module name '%s'\n",Buffer); 1553 #endif 1544 1554 1545 1555 SegOffset = SEGDEFOFFSET(MapDef); 1556 #ifdef DEBUG_SYMDUMP 1557 fprintf(LogFile,"SegOffset %0x\n",SegOffset); 1558 #endif 1546 1559 1547 1560 // go thru all segments … … 1550 1563 SegNum++) 1551 1564 { 1552 // printf("Scanning segment #%d Offset %4.4hX\n",SegNum+1,SegOffset); 1565 #ifdef DEBUG_SYMDUMP 1566 fprintf(LogFile,"Scanning segment #%d Offset %08X\n",SegNum,SegOffset); 1567 #endif 1553 1568 if (fseek(SymFile, SegOffset, SEEK_SET)) 1554 1569 // seek error … … 1557 1572 // read in segment definition 1558 1573 fread(&SegDef, sizeof(SEGDEF), 1, SymFile); 1574 Buffer[0] = SegDef.achSegName[0]; 1575 fread(&Buffer[1], 1, SegDef.cbSegName-1, SymFile); 1576 Buffer[SegDef.cbSegName] = 0x00; 1577 #ifdef DEBUG_SYMDUMP 1578 fprintf(LogFile,"Segment name '%s', number %d, flags %02x\n",Buffer,SegNum,SegDef.bFlags); 1579 #endif 1580 1559 1581 if (SegNum == Object) 1560 1582 { … … 1564 1586 1565 1587 // go thru all symbols in this object 1588 #ifdef DEBUG_SYMDUMP 1589 fprintf(LogFile,"Scanning #%d symbols\n",SegDef.cSymbols); 1590 #endif 1566 1591 for (SymNum = 0; SymNum < SegDef.cSymbols; SymNum++) 1567 1592 { 1568 1569 // read in symbol offset USHORT 1570 SymPtrOffset = SYMDEFOFFSET(SegOffset, SegDef, SymNum); 1571 fseek(SymFile, SymPtrOffset, SEEK_SET); 1572 fread(&SymOffset, sizeof(unsigned short int), 1, SymFile); 1573 1574 // go to symbol definition 1575 fseek(SymFile, SymOffset + SegOffset, SEEK_SET); 1576 1593 // fixed syms > 64 K V0.9.21 (2002-08-21) [paperino] 1577 1594 if (SegDef.bFlags & 0x01) 1578 1595 { … … 1594 1611 LastVal = SymDef32.wSymVal; 1595 1612 Buffer[0] = SymDef32.achSymName[0]; 1596 fread(&Buffer[1], 1, SymDef32.cbSymName , SymFile);1613 fread(&Buffer[1], 1, SymDef32.cbSymName-1, SymFile); 1597 1614 Buffer[SymDef32.cbSymName] = 0x00; 1615 #ifdef DEBUG_SYMDUMP 1616 fprintf(LogFile,"32 Bit Symbol Address %08p <%s> \n",SymDef32.wSymVal,Buffer); 1617 #endif 1598 1618 1599 1619 if (SymDef32.wSymVal > TrapOffset) … … 1608 1628 break; 1609 1629 } 1610 /*printf("32 Bit Symbol <%s> Address %p\n",Buffer,SymDef32.wSymVal); */1611 1630 } 1612 1631 else … … 1623 1642 LastVal = SymDef16.wSymVal; 1624 1643 Buffer[0] = SymDef16.achSymName[0]; 1625 fread(&Buffer[1], 1, SymDef16.cbSymName , SymFile);1644 fread(&Buffer[1], 1, SymDef16.cbSymName-1, SymFile); 1626 1645 Buffer[SymDef16.cbSymName] = 0x00; 1627 1646 if (SymDef16.wSymVal > TrapOffset) … … 1634 1653 break; 1635 1654 } 1636 /*printf("16 Bit Symbol <%s> Address %p\n",Buffer,SymDef16.wSymVal); */ 1655 #ifdef DEBUG_SYMDUMP 1656 fprintf(LogFile,"16 Bit Symbol <%s> Address %p\n",Buffer,SymDef16.wSymVal); 1657 #endif 1637 1658 } // endif 1638 1659 }
Note:
See TracChangeset
for help on using the changeset viewer.