WinDbg F9时“code not found breakpoint not set”

 当使用Windbg 6.2.9200.16384 进行源码调试时,无法在代码文件中F9设置断点,会出现“code not found breakpoint not set”,我们只有启动下我们自己的驱动,或者需要".reload /f"下符号,然后才可能用F9设置。

 

    这是由于源码文件symbol问题,但是Windbg 6.12.2.633以及之前其他版本都没有此问题,一个猜测就是当我们F9时,Windbg 6.2.9200.16384只会搜索已经加载的symbol,而Windbg 6.12.2.633以及之前其他版本不仅会搜索已加载的symbol,而且还会搜索我们设置的symbol path目录,于是就可以成功找到源码对应的symbol。(我们设置的symbol path,以及每次打开的源码文件,dump 文件等,都记录在注册表Workspace中:HKCU\Software\Microsoft\Windbg\Workspaces下。

 

    因为Windbg 6.12.2.633对应于的最新版本内核是Win7(NT6.1),所以Windbg 6.12.2.633及更低版本无法分析Win8生成的dump文件,会提示提示“参数不正确”(Win32 error 0n87. The parameter is incorrect),所以用目前最新版本6.2.9200.16384来分析Win8 dump文件。(WinDBG有两套版本号,一套是与NT内核一致的,比如6.2代表Win8,另一套是自己的,比如6.12. Win8的比6.12要新,相当于6.13+)

    暂无解决办法,只能用Windbg 6.12.2.633进行实时调试,而用Windbg 6.2.9200.16384分析Win8生成的dump文件。话说ms这以后不提供Windbg单独下载链接了,只能随SDK或WDK包一同下载,不过对于下载SDK的sdksetup,可以只勾选调试工具,以实现单独下载Windbg的目的,不过下载速度太慢啊!

你可能感兴趣的:(break)