Windbg 无法在00401000处插入断点0,Win32错误0n299

Windbg 无法在00401000处插入断点0,Win32错误0n299,windbg,Windbg,我尝试使用WinDBG调试一个示例。首先我删除了“WinDBGSample.pdb”,然后我尝试在main()的入口设置断点,但失败了 我不知道我的选择有什么问题。如果你知道,请给我一些建议 错误详细信息: main()的起始地址: 我相信这是在告诉您00401000不是一个有效的地址,因此您需要使用“bu”设置一个未解析的断点,然后一旦该地址可用,它就会设置断点。使用bp main而不是硬编码的地址。程序可能加载在不同的地址。正如Hans所评论的,ASLR可以更改模块的起始地址。如果由于某种

我尝试使用WinDBG调试一个示例。首先我删除了“WinDBGSample.pdb”,然后我尝试在
main()
的入口设置断点,但失败了

我不知道我的选择有什么问题。如果你知道,请给我一些建议

错误详细信息:

main()
的起始地址:


我相信这是在告诉您00401000不是一个有效的地址,因此您需要使用“bu”设置一个未解析的断点,然后一旦该地址可用,它就会设置断点。

使用
bp main
而不是硬编码的地址。程序可能加载在不同的地址。正如Hans所评论的,ASLR可以更改模块的起始地址。如果由于某种原因无法使用PDB文件,请使用
lm
命令查看模块的基址,并根据该基址计算
main
的位置。

Google“地址空间布局随机化”。谢谢,John。我还有另一个问题:当我执行“bp main”时,有错误:***错误:模块加载完成,但WinDBGSample.exe无法加载符号***错误:找不到符号文件。默认为导出C:\Windows\system32\MSVCR100D.dll-(我将符号放在“C:\symbols”中,并设置了符号路径);当然,我可以正常执行“g”。在表单模块中使用完全限定的符号名!功能,例如WinDBGSample!主要的