Debugging 调试本地进程时WinDbg变慢(跳过)
这真的快把我逼疯了。我使用WinDbg作为我的主要调试器。 用于调试本地服务(本地运行的WinDbg,在同一台机器上调试服务)。 PDB文件存储在本地硬盘上。 源代码通过SMB共享访问 调试以突发的方式工作,有时流程良好,大多数时候我都会看到令人难以置信的恼人的“*BUSY*”消息,几乎每次我执行“跳过”时都会出现这种情况 你知道我能做些什么来加快速度吗Debugging 调试本地进程时WinDbg变慢(跳过),debugging,windbg,Debugging,Windbg,这真的快把我逼疯了。我使用WinDbg作为我的主要调试器。 用于调试本地服务(本地运行的WinDbg,在同一台机器上调试服务)。 PDB文件存储在本地硬盘上。 源代码通过SMB共享访问 调试以突发的方式工作,有时流程良好,大多数时候我都会看到令人难以置信的恼人的“*BUSY*”消息,几乎每次我执行“跳过”时都会出现这种情况 你知道我能做些什么来加快速度吗 谢谢当打开多个工具窗口(本地、手表、调用堆栈)时,我通常会遇到这种情况。如果这些窗口被打开,WinDbg将使用慢速符号查找每个“跨步”命令来更
谢谢当打开多个工具窗口(本地、手表、调用堆栈)时,我通常会遇到这种情况。如果这些窗口被打开,WinDbg将使用慢速符号查找每个“跨步”命令来更新所有窗口
在这方面,只使用命令行(NTSD)调试器要快得多。
< P>如果它正在慢慢地从Internet上拉Windows符号文件,考虑将它们全部下载到您的硬盘上,并指向WINBG到它们的位置。最好将服务的符号文件和源文件也放在本地驱动器上。如果工作区中保存了许多跟踪模块加载事件(通过bu创建)的非限定断点,则可能会发生这种情况。此外,还值得检查网络连接和本地符号缓存大小。可以尝试以下几种方法:
- 使用该命令可显示windbg正在引用的图像和PDB的更多详细信息。您可能会看到它访问网络的次数超出预期,或者网络服务器不可用,请求超时
- 确保您的符号路径具有
- 在本地复制源并添加到源路径
当符号路径包含大型文件存储时,WinDbg可能需要很长时间来搜索不存在的符号。您可以按照用户的建议,通过运行Process Monitor并观察WinDbg执行的文件操作来诊断此行为
这对我们的组织来说是一个极大的痛点,但我在这个问题中找到了一个详细的解决方法:“我不知道,但我会使用Process Monitor查看WinDbg冻结时是否正在忙于执行一些IO工作。如果是的话,这可能是问题根源的一个很好的暗示。此外,如果您正在从Microsoft服务器获取PBD,请尝试禁用它。如果出于某种原因WinDbg无法在本地保存PBD,则它可能每次都会访问服务器。检查是否有过多的BPs同时处于活动状态;另外,为符号启用“嘈杂”模式,以检查您是否仅引用本地符号您是否设置了符号路径环境变量?如果是这样,WinDbg将使用它。从微软获得PDB可能会大大降低速度。