注册 登录
编程论坛 VC++/MFC

请教:如何通过调试信息里的汇编代码看出程序出错的原因?

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

   
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

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

1 回复
#2
农民工2015-10-20 09:03
汇编里 有对应的c++代码,你找到这c++,仔细找下就能发现问题了
1