Knowledge

Debug symbol

Source 📝

338: 275: 33: 224:
Debugging information can take up quite a bit of space, especially the filenames and line numbers. Thus, binaries with debug symbols can become quite large, often several times the stripped file size. To avoid this extra size, most operating system distributions ship binaries that are stripped, i.e.
195:
Debug symbols typically include not only the name of a function or global variable, but also the name of the source code file in which the symbol occurs, as well as the line number at which it is defined. Other information includes the type of the symbol (integer, float, function, exception, etc.),
471:, these produced object code (on request) that included "SYM cards". These were usually ignored by the program loader but were useful to a symbolic debugger as they were kept on the same program library as the executable logic code. 257:
format, for which formal specifications exist, has largely supplanted it. The specification allows any compatible compiler or assembler to create debug symbols in a standardized format, and for any debugger, such as the
438:
platforms, debug symbols are optionally emitted during the build process as dSYM files. Apple uses the term "symbolicate" to refer to the replacement of addresses in diagnostic files with human readable values.
650: 666: 583: 207:
Part of the debug information includes ithe line of code in the source file which defines that symbol (a function or global variable), as well as symbols associated with exception frames.
590: 527: 388:(ADATA) file containing more information than that produced by the old TEST option. In particular, the ADATA file includes lines of source code and their metadata. 548: 726: 403:(PDB) file containing debug symbols. Some companies ship the PDB on their CD/DVD to enable troubleshooting and other companies (like Microsoft, and the 738: 676: 660: 620: 310: 627: 422:(DLLs) on demand. The PDB debug symbols that Microsoft distributes include only public functions, global variables and their data types. The 210:
This information may be stored in the symbol table of an object file, executable file, or shared library, or may be in a separate file.
768: 97: 69: 17: 515: 116: 76: 317:
have a TEST option that causes the debug information to be retained in the load module. Various debug tools, e.g.,
562: 309:
have a TEST option that causes the compiler to include debugging information in the object file. Similarly, the
233:. If the debugging information is in separate files, those files are usually not shipped with the distribution. 54: 83: 50: 65: 225:
from which all of the debugging symbols have been removed. This is accomplished, for example, with the
377: 349: 286: 689: 490: 43: 217:, the debug information contains more than just the symbol tabled, e.g., the ADATA discussed in 698:
High Level Assembler for z/OS & z/VM & z/VSE - Programmer's Guide - Version 1 Release 6
419: 162: 592:
IBM System/360 Operating System - TESTRAN - Program Logic Manual - Program Number 3605-PT-516
485: 204:), the size, and, for classes, the name of the class, and the methods and members in it. 90: 8: 696: 423: 404: 322: 769:
https://firefox-source-docs.mozilla.org/taskcluster/using-the-mozilla-source-server.html
790: 455:
on which to display the symbolic debugging information (and even earlier with symbolic
448: 177: 134: 553: 464: 184: 154: 495: 452: 400: 314: 146: 784: 629:
MVS/370 - Linkage Editor Logic - Data Facility Product 5665-295 - Release 1.0
412: 259: 226: 201: 138: 734: 197: 169: 158: 142: 762: 337: 274: 435: 306: 150: 183:
This information can be helpful while trying to investigate and fix a
558: 523: 480: 456: 396: 250: 172:, or distributed in a separate file, or simply discarded during the 168:
The symbolic information may be compiled together with the module's
32: 460: 426:
has similar infrastructure but distributes full debug information.
173: 415:
IDE can be configured to automatically download debug symbols for
468: 416: 774: 408: 369: 325:
TEST, have the ability to use the embedded symbol definitions.
318: 254: 246: 305:
The compilers for the IBM mainframe line descended from the
727:"Understanding and Analyzing iOS Application Crash Reports" 381: 230: 214: 161:
of the binary, such as the names of identifiers, including
705: 636: 599: 407:) allow downloading debug symbols from the Internet. The 451:
era, almost since the first introduction of suitable
57:. Unsourced material may be challenged and removed. 459:on paper). They were not restricted to high level 584:"Appendix D: TESTRAN Editor Input Record Formats" 262:(GDB), to gain access and display these symbols. 782: 621:"Appendix. Input conventions and Record Formats" 541: 380:(HLASM) and other compilers running on, e.g., 249:was an early format for debugging symbols on 508: 137:that attaches additional information to the 639:. April 1983. pp. 195–206. LY26-3921-0 602:. 1971-04-01. pp. 119–120. GY28-6611-0 447:Symbolic debuggers have existed since the 391: 690:"Appendix C. Associated data file output" 117:Learn how and when to remove this message 661:Figure 69. SYM Input Record (Card Image) 384:, have an ADATA option that produces an 190: 719: 672: 656: 619: 328: 157:to gain access to information from the 14: 783: 708:. 2015. pp. 227–275. SC26-4941-07 463:languages and were available also for 763:http://referencesource.microsoft.com/ 737:2018-01-08 . Technical Note TN2151. 332: 269: 241: 55:adding citations to reliable sources 26: 677:Figure 76. SYM Record (Load Module) 236: 24: 25: 802: 765:Microsoft Reference Source Server 756: 218: 336: 273: 187:application or any other fault. 31: 741:from the original on 2019-12-19 530:from the original on 2020-01-11 368: 42:needs additional citations for 777:.NET libraries at SymbolSource 682: 613: 576: 13: 1: 501: 775:http://www.symbolsource.org/ 561:. 2008-07-15. Archived from 153:. This information allows a 7: 474: 10: 807: 442: 516:"Debugging with Symbols" 429: 378:IBM High Level Assembler 549:"What are Symbols For?" 491:Microsoft Symbol Server 392:Microsoft debug symbols 213:On some systems, e.g., 420:dynamic-link libraries 265: 221:contains source code. 771:Mozilla Source Server 731:iOS Developer Library 486:Debugging data format 399:compilers generate a 191:Debugging information 133:is a special kind of 329:External debug files 253:systems. The newer 51:improve this article 424:Mozilla Corporation 405:Mozilla Corporation 219:§ OS/390 et al 635:(First ed.). 520:Windows Dev Center 467:programs. For the 348:. You can help by 285:. You can help by 18:Symbolic debugging 598:. TNL GN26-8016. 465:assembly language 453:computer displays 411:debugger and the 366: 365: 303: 302: 242:Unix-like systems 155:symbolic debugger 127: 126: 119: 101: 16:(Redirected from 798: 750: 749: 747: 746: 723: 717: 716: 714: 713: 703: 694: 686: 680: 670: 664: 654: 648: 647: 645: 644: 634: 625: 617: 611: 610: 608: 607: 597: 588: 580: 574: 573: 571: 570: 545: 539: 538: 536: 535: 512: 496:Microsoft SYMDEB 401:program database 361: 358: 340: 333: 298: 295: 277: 270: 237:Embedded symbols 122: 115: 111: 108: 102: 100: 59: 35: 27: 21: 806: 805: 801: 800: 799: 797: 796: 795: 781: 780: 759: 754: 753: 744: 742: 725: 724: 720: 711: 709: 701: 692: 688: 687: 683: 675:, p. 199, 671: 667: 659:, p. 195, 655: 651: 642: 640: 632: 623: 618: 614: 605: 603: 595: 586: 582: 581: 577: 568: 566: 547: 546: 542: 533: 531: 514: 513: 509: 504: 477: 445: 432: 394: 386:Associated data 374: 362: 356: 353: 346:needs expansion 331: 315:linkage editors 299: 293: 290: 283:needs expansion 268: 244: 239: 193: 165:and routines. 123: 112: 106: 103: 60: 58: 48: 36: 23: 22: 15: 12: 11: 5: 804: 794: 793: 779: 778: 772: 766: 758: 757:External links 755: 752: 751: 718: 681: 665: 649: 612: 575: 540: 506: 505: 503: 500: 499: 498: 493: 488: 483: 476: 473: 444: 441: 431: 428: 393: 390: 373: 367: 364: 363: 343: 341: 330: 327: 301: 300: 280: 278: 267: 264: 243: 240: 238: 235: 192: 189: 147:shared library 125: 124: 66:"Debug symbol" 39: 37: 30: 9: 6: 4: 3: 2: 803: 792: 789: 788: 786: 776: 773: 770: 767: 764: 761: 760: 740: 736: 732: 728: 722: 707: 700: 699: 691: 685: 678: 674: 669: 662: 658: 653: 638: 631: 630: 622: 616: 601: 594: 593: 585: 579: 565:on 2014-12-26 564: 560: 556: 555: 550: 544: 529: 525: 521: 517: 511: 507: 497: 494: 492: 489: 487: 484: 482: 479: 478: 472: 470: 466: 462: 458: 454: 450: 440: 437: 427: 425: 421: 418: 414: 413:Visual Studio 410: 406: 402: 398: 389: 387: 383: 379: 371: 360: 351: 347: 344:This section 342: 339: 335: 334: 326: 324: 320: 316: 312: 308: 297: 288: 284: 281:This section 279: 276: 272: 271: 263: 261: 256: 252: 248: 234: 232: 228: 222: 220: 216: 211: 208: 205: 203: 199: 188: 186: 181: 179: 175: 171: 166: 164: 160: 156: 152: 148: 144: 140: 136: 132: 121: 118: 110: 107:December 2013 99: 96: 92: 89: 85: 82: 78: 75: 71: 68: –  67: 63: 62:Find sources: 56: 52: 46: 45: 40:This article 38: 34: 29: 28: 19: 743:. Retrieved 730: 721: 710:. Retrieved 697: 684: 668: 652: 641:. Retrieved 628: 615: 604:. Retrieved 591: 578: 567:. Retrieved 563:the original 552: 543: 532:. Retrieved 519: 510: 446: 433: 395: 385: 375: 354: 350:adding to it 345: 304: 291: 287:adding to it 282: 260:GNU Debugger 245: 223: 212: 209: 206: 202:global scope 194: 182: 167: 145:, such as a 139:symbol table 131:debug symbol 130: 128: 113: 104: 94: 87: 80: 73: 61: 49:Please help 44:verification 41: 735:Apple, Inc. 673:LY26-3921-0 657:LY26-3921-0 229:command in 198:block scope 196:the scope ( 174:compilation 170:binary file 159:source code 143:object file 745:2020-01-11 712:2024-07-11 643:2024-07-11 606:2024-07-11 569:2015-01-04 534:2020-01-11 502:References 307:System/360 151:executable 77:newspapers 791:Debugging 559:Microsoft 524:Microsoft 481:CA/EZTEST 449:mainframe 397:Microsoft 357:July 2024 321:TESTRAN, 294:July 2024 251:Unix-like 163:variables 785:Category 739:Archived 528:Archived 475:See also 461:compiled 185:crashing 554:TechNet 469:IBM/360 443:History 417:Windows 178:linking 176:and/or 91:scholar 409:WinDbg 370:OS/390 319:OS/360 311:Binder 149:or an 141:of an 135:symbol 93:  86:  79:  72:  64:  702:(PDF) 693:(PDF) 633:(PDF) 624:(PDF) 596:(PDF) 587:(PDF) 457:dumps 436:Apple 430:Apple 372:et al 313:and 255:DWARF 247:stabs 227:strip 98:JSTOR 84:books 382:z/OS 376:The 231:Unix 215:z/OS 70:news 706:IBM 637:IBM 600:IBM 434:On 352:. 323:TSO 289:. 266:IBM 200:or 180:. 53:by 787:: 733:. 729:. 704:. 695:. 626:. 589:. 557:. 551:. 526:. 522:. 518:. 129:A 748:. 715:. 679:. 663:. 646:. 609:. 572:. 537:. 359:) 355:( 296:) 292:( 120:) 114:( 109:) 105:( 95:· 88:· 81:· 74:· 47:. 20:)

Index

Symbolic debugging

verification
improve this article
adding citations to reliable sources
"Debug symbol"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
symbol
symbol table
object file
shared library
executable
symbolic debugger
source code
variables
binary file
compilation
linking
crashing
block scope
global scope
z/OS
§ OS/390 et al
strip
Unix

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.