请教:如何从调试状态的汇编代码中看出程序错误的原因?

凡所有像皆是虚妄 发布于 2015/10/16 09:43
阅读 46
收藏 0

  大家好啊,小弟有时候运算符写错了会导致程序运行时出现一个 “ 该内存不能为XXXXX ”的时候,我该如何通过汇编看出错误处在哪里呢?汇编的基本指令小弟知道,但是当跳出错误选择调试的时候就看不出错误在哪里了。比如说图片里的错误信息,而后选择调试的时候出来了汇编代码。汇编指令小弟知道什么意思,但是这样整体出来我就不明白要做什么了,因为现在在小弟看来里面的MOV  ADD TEST都是对数据进行赋值  相加  测试。我就是不明白如何通过汇编代码看出程序出错的原因。

  

  比如说第二张图片,程序中断在那个位置。我只能看懂的是汇编代码反应出来的是在进行赋值、然后清零、然后相加、然后测试。但是为什么程序会报错?我该如何才能看出出错的原因呢?当然。程序我检查了2次找到了错误,是操作指针的时候本该这样写:“ if ( str == NULL ) ”,结果我写成了“if ( str = NULL )”。导致的,我想学习大神们的通过汇编检查出错误 请指教

 

加载中
返回顶部
顶部