我尝试使用WinDBG调试示例。首先我删除了“WinDBGSample.pdb”,然后我尝试在main()
的入口处设置断点,但是我失败了。
我不知道我的选择有什么问题。如果你知道,请给我一些建议。
错误明细:
main()
的起始地址:
答案 0 :(得分:1)
我相信这告诉你00401000还不是一个有效的地址所以你需要使用'bu'设置一个未解析的断点,然后一旦该地址可用就会设置断点。
答案 1 :(得分:1)
使用bp main
代替硬编码地址。程序可能加载到不同的地址。正如汉斯评论的那样,ASLR可以改变模块的起始地址。如果由于某种原因您无法使用PDB文件,请使用lm
命令查看模块的基址,并根据该位置计算main
的位置。