Let Visual Studio load a symbol (PDB) file

Source: Internet
Author: User
Tags win32

Let Visual Studio load a symbol (PDB) file

Let Visual Studio Gta5-In Symbol ( PDB ) file

During the compile-link phase of the VC compilation project, the symbol file is generated, which is often called the PDB file. The PDB is all called program database, as explained in MSDN, the PDB file is a binary file that is generated during the compile and link phase and contains the type and debug symbol information. The PDB file contains the symbol tables for each function and is an essential file for WINDBG debugging.

Now that the PDB file is used by the debugger, the Visual Studio debugger can also use it. With the following settings, Visual Studio can load the PDB file during debugging.

Tools --Options--debugging .

In "Symbol file (. pdb) Locations:" Enter the download path for the Microsoft default PDB file "Http://msdl.microsoft.com/download/symbols" in the following control.

Enter the local save path in the edit box under "Cache symbols from symbol servers to this directory:", such as: D:/winsymbols/msdownsymbols.

The following two checkboxes mean:

"Search the above locations only when symbols is loaded manually".

The debugger simply loads the Symbol manually loaded. Check this option to debug faster, but PDB loading is relatively small, debugging information is less, it is recommended not to tick.

"Load symbols using the updated settings when the dialog is closed"

The symbol table is loaded immediately after the dialog box is closed. Tick this option to see the effect immediately, debugging speed of course will be slightly slower, recommended tick.

Click OK to close the dialog box and the settings will take effect.

Set over, of course, to see the effect.

We first look at the normal state of callstack, set up a common Win32 program, at the InitInstance entrance next breakpoint, F5 Open Debugging, in the CallStack window as shown below:

As we can see, in the bottom two lines, the information is grayed out, and the function in Kernel32.dll calls our wWinMainCRTStartup, which is not seen by which function was created at the beginning of the process.

Now look at the setting of the Symbol when the state of the callstack, the establishment of a common Win32 program, the InitInstance entrance to the next breakpoint, F5 Open Debugging, in the CallStack window as shown below:

As we can see, the program starts with the export function "_baseprocessstart" in Kernel32.dll, _baseprocessstart calls our wWinMainCRTStartup function, and the program runs.

Of course, the use of the Symbol is much more than this, the rest of you are slowly discovered.

Note: After you set the symbol, the debugging speed slows down, and if you do not need to know how the system functions are called, it is recommended that you do not set symbol when debugging.

Let Visual Studio load a symbol (PDB) file

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.