Settings of Windows Symbol files

xiaoxiao2021-03-06  65

The cause of the problem is that you want to use the Livekd debug core and you need to specify the corresponding symbol file. This problem plasted for a few days. The system is Win2K SP4 Chinese version, and then downloads Windows 2000 Customer Support Diagnostics and SP4 Symbols. After installing, running the livekd specified path, each time you prompt: "Could Not Resolve Symbols for ntoskrnl.exe" then exited, but the directory It is existent to ntoskrnl.dbg and ntoskrnl.pdb. Running Windbg to load a program, each time there is a warning: *** Warning: Symbols TimeStamp is Wrong 0x4060ef33 0x38175b30 for NTDLL.DLL. LM can only see NTDLL.PDB files being recognized, other DLLs, such as GDI32.DLL files, although there is no corresponding symbol file in the directory.

This is the case, and it is determined that the symbol file does not match, but it is nothing. Want to reload the system into a Win2K English version test. Fortunately, yesterday, I got a post, I got the following answers "You don't go to the ¥ MS website to go to those symbol files, even the version number, these are all considered to be correct. Directly use windbg to go, Windbg is not an option. Do you know where you want to go down and make it right?

So, look at the help of Windbg, finally got it. as follows:

Set an environment variable _nt_symbol_path = srv * c: / sym * http://msdl.microsoft.com/download/symbols

among them

http://msdl.microsoft.com/download/symbols is Microsoft's symbol server, C: / SYM is a local folder saving symbols, which can be set. The premise is that you must install Debugging Tools for Windows because Symsrv.dll is required to download the symbol file.

After running Livekd, wait for a while, it automatically downloads NToskrnl symbol files, successfully enters the KD> prompt.

Windbg-> Symbol Search Path is also set to SRV * C: / Sym * http: //msdl.microsoft.com/download/symbols. With it to load a program, LM view the loaded module, you need to force the symbol of a module, such as user32.dll, enter LD USER32 in the Windbg command line, pay attention not to add a file suffix. After a while, it has downloaded a symbol file from the server, prompts Symbols loaded for user32. Viewing the User32.pdb symbol file with LM. Now open the C: / SYM folder, you will find that more two folders are named user32.dbg and user32.pdb, which contains the correct symbol file. When the next forced User32 symbol file is enforced, it will be somewhat because it is read directly from C: / SYM without downloading from the server.

The method of setting the symbol server from the web:

Set the path to the symbol server

Open the project in Visual Studio. Select the name of the solution in the Solution Explorer view. Select Set Start Project from the Project menu. In the Solutions Properties Page dialog box, open the General Properties folder, click Debug Symbol File. Create a new row in the "Search Symbol File" box in these paths, the method is to double-click the new row or click the "New Right" button. Enter the path to the symbol server in the new row.

转载请注明原文地址:https://www.9cbs.com/read-89254.html

New Post(0)