一个调试有关问题,有点难度,高手看一下
一个调试问题,有点难度,高手看一下
调试时出现了一个错误,调试器告诉我某个地址段(16进制)的代码往0x00000000处写,发生了访问冲突。我觉得是空指针问题,但是我如何才能找到出错的代码呢,根据它给出的代码地址。通过什么工具可以获得。我用的是调试环境是vs2003.
------解决方案--------------------
如果养成在代码中使用用assert的习惯,就很容易发现这类错误了.
------解决方案--------------------
首先你需要被调试调用的源码或者PDB文件,通过观察call stack可以发现问题出在那个函数。
如果没有PDB文件的话,根据代码的地址和不同模块的 "基址 "大概判断一下出问题的代码是那个模块里面的代码。
如果有 "实力 "的话,分析汇编也不失一个好的选择。
调试时出现了一个错误,调试器告诉我某个地址段(16进制)的代码往0x00000000处写,发生了访问冲突。我觉得是空指针问题,但是我如何才能找到出错的代码呢,根据它给出的代码地址。通过什么工具可以获得。我用的是调试环境是vs2003.
------解决方案--------------------
如果养成在代码中使用用assert的习惯,就很容易发现这类错误了.
------解决方案--------------------
首先你需要被调试调用的源码或者PDB文件,通过观察call stack可以发现问题出在那个函数。
如果没有PDB文件的话,根据代码的地址和不同模块的 "基址 "大概判断一下出问题的代码是那个模块里面的代码。
如果有 "实力 "的话,分析汇编也不失一个好的选择。