Debug symbol

Debug symbol

A debug symbol is information that expresses which programming-language constructs generated a specific piece of machine code in a given executable module. Sometimes the symbolic information is compiled together with the module's binary file, or distributed in separate file, or simply discarded during the compilation and/or linking. This information enables a person using a symbolic debugger to gain additional information about the binary, such as the names of variables and routines from the original source code. This information can be extremely helpful while trying to investigate and fix a crashing application or any other fault.

When debug symbols are embedded in the binary itself, the file can then grow significantly larger (sometimes by several megabytes). To avoid this extra size, modern compilers and early mainframe debugging systems output the symbolic information into a separate file; for Microsoft compilers, this file is called a PDB file. Some companies ship the PDB on their CD/DVD to enable troubleshooting and other companies (like Microsoft, and the Mozilla Corporation) have special online servers from which it's possible to download the debug symbols separately. Microsoft's WinDBG debugger can be configured to automatically download debug symbols for Windows DLLs on demand as they are needed. The PDB debug symbols that Microsoft distributes are only partial (they include only public functions, global variables and their data types, whereas the Mozilla Corporation has similar infrastructure but distributes full debug information.

Both Microsoft and Mozilla also offer the source code (Microsoft provides certain components, such as most of the .NET Framework, where as Mozilla offers full source) to make debugging easier.

History

Symbolic debuggers have actually been around in the mainframe world almost since the first introduction of suitable computer displays on which to display the symbolic debugging information (and even earlier with symbolic dumps on paper). They were not restricted to high level compiled languages and were available also for Assembly language programs. For the IBM/360, these produced object code (on request) that included "SYM cards". These were normally 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.

Public symbol and source servers

See also



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Debug symbol — debug символы (символы отладки)  информация, которую язык программирования генерирует автоматически на основе исходных кодов. Это специфичный кусок машинного кода, описывающий текущий исполняемый модуль. Отладочная информация может… …   Википедия

  • Symbol (disambiguation) — Symbols are objects, characters, or other concrete representations of ideas, concepts, or other abstractions. Symbol may also refer to: * Symbol (data), the smallest amount of data transmitted at a time in digital communications * Debug symbol,… …   Wikipedia

  • Debugging data format — A debugging data format is a means of storing information about a compiled computer program for use by high level debuggers. Modern debugging data formats store enough information to allow source level debugging. High level debuggers need… …   Wikipedia

  • DST — Daylight Savings Time (Regional » Time Zones) ** Delta Sigma Theta (Community) * Department of Science and Technology (Academic & Science) * Direction de la Surveillance du Territoire (Governmental » FBI Files) * Dexamethasone Suppression Test… …   Abbreviations dictionary

  • Отладочные символы — debug символы (символы отладки)  информация, которую язык программирования генерирует автоматически на основе исходных кодов. Это специфичный кусок машинного кода, описывающий текущий исполняемый модуль. Отладочная информация может… …   Википедия

  • WinDbg — Infobox Software name = WinDbg caption = developer = Microsoft latest release version = 6.9.3.113 latest release date = April 29, 2008 operating system = Microsoft Windows genre = Debugger license = Commercial website =… …   Wikipedia

  • Microsoft Visual Studio — Visual Studio 2010 SP1 editing a WPF application Developer(s) …   Wikipedia

  • Comparison of programming languages (basic instructions) — Programming language comparisons General comparison Basic syntax Basic instructions Arrays Associative arrays String operations …   Wikipedia

  • Common Lisp — Paradigm(s) Multi paradigm: procedural, functional, object oriented, meta, reflective, generic Appeared in 1984, 1994 for ANSI Common Lisp Developer ANSI X3J13 committee Typing discipline …   Wikipedia

  • PlayStation (console) — For other uses, see PlayStation (disambiguation). PlayStation …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”