Windows dbghelp何时从嵌入在可执行文件中的路径加载符号
我有一个应用程序,它使用SymInitialize()加载调试符号 根据我在符号上找到的信息,按以下顺序进行搜索:Windows dbghelp何时从嵌入在可执行文件中的路径加载符号,windows,debugging,debug-symbols,Windows,Debugging,Debug Symbols,我有一个应用程序,它使用SymInitialize()加载调试符号 根据我在符号上找到的信息,按以下顺序进行搜索: 1. Dir containing the module symbols are being loaded for; 2. _NT_SYMBOL_PATH environment variable; 3. _NT_ALTERNATE_SYMBOL_PATH environment variable 4. pdb file path embedded in binary file
1. Dir containing the module symbols are being loaded for;
2. _NT_SYMBOL_PATH environment variable;
3. _NT_ALTERNATE_SYMBOL_PATH environment variable
4. pdb file path embedded in binary file
我在某些Windows 7虚拟机上有此符号加载行为,但在某些虚拟机上没有尝试从第4点加载符号
我使用进程监视器获取进程试图访问的路径列表
dbghelp API从嵌入在可执行文件中的路径加载符号,是否有一个选项或可能必须满足的先决条件?通过实验,我得出结论,这是通过以下路径搜索符号的顺序:
1. Dir containing the module symbols are being loaded for;
2. _NT_SYMBOL_PATH environment variable;
3. Sub-folders from 1 and 2:
- dll and symbols/dll if symbols are searched for .dll file
- exe and symbols/exe if symbols are searched for .exe file
如果安装了调试器(VS2010或WinDbg),则还将搜索嵌入dll/exe中的路径
_NT\u备用\u符号\u路径接缝它根本不使用,但它可以是特定于dbghelper版本的
有人能分享他们在这个话题上的经验吗?这方面的内容还有很多,但是没有关于这个主题的文章