在调试vc的过程中,如何显示满屏的汇编对应的c程序啊,调用堆栈是可以的,但是有的还是不行,怎么办?

如题所述

1、在代码上大断点
2、点击F5,进入调试模式
3、点击alt + 8,即可显示出汇编代码了

坐等收分,谢谢追问

我不是要调出汇编代码,而是要显示汇编代码对应的c代码啊,你再回答一下啊

追答

VC中好像无法将你写的汇编转成C代码吧?
我的理由是:
1、VC是一个基于C++编程的IDE,它同时兼容C的编译环境。虽然写的是C或者C++的代码,但是都可以变成汇编,但是反过来,你想让汇编语言变成什么语言呢?这是不确定的。
2、其次,C和C++属于高级语言,咱们都明白向下兼容的原理,反过来是行不通的。

追问

汗 我的意思是满屏的汇编代码,我都不知道是对应的c那个函数,不是我要将我写的汇编转为c代码。你知道 调试的时候有事会进入满屏汇编代码的地方,你都不知道在那个函数里,怎么才能知道在那个函数里啊?

追答

草!你知道 调试的时候为什会进入你说的那个汇编吗?是因为你的代码在执行的时候出现错误,点下一步的时候会跳往一个未知内存。此时汇编的作用只是起到提示作用,它将系统识别的汇编信息打印在屏幕上。
在处理这种问题时,通常的做法是:在要跳往汇编的位置添加断电,然后逐步调试,让它能接续运行

追问

晕 按你的说法 ,单步进入汇编后,还能不能知道断点所在的函数呢,或者那个函数导致跳到位置内存啊? 在追问就要分了,最后一次追问,回答详细点呗

追答

1、其实你会发现,当你在出现汇编的页面点击它所对应的“叉”时,会直接返回你的C代码,这就说明了它和你的C代码不是一体的。它是VC执行过程中遇到错误后给你的汇编提示。
这对与有汇编经验的人可以从汇编内容上找出错误。就你的问题,可以肯定的回答你,这个过程(变成C)是不可逆的,可以查看我第二次回答的理由。
2、反过来说,不会汇编怎么处理:经过设置多个断点后,很容易找到错误发生的地点。C语言是一个高级语言,可读性比较强,在下面的面板中,你可以查看你操作的内容中的值。这样可以避免汇编对我们的干扰
3、即使当你进入了汇编界面,点击F10也是走不动的,因为出错了,程序死掉了。还是那个方法,找你上个打断点的地方,因为问题就在那里。

ノート:-------------------------------------------------------------------------------
跳到汇编的位置对应代码就是你从执行中的C调过来的那个C语言代码!!!!!
这个代码就是你要找的汇编对应的代码!!!!
-------------------------------------------------------------------------------------------
如果这个你还不懂,你就请教能给你讲明白的人吧,我尽力了。
而且,你这个没有分,别忽悠我,我是义务劳动

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-21
vc是编写C/C++的编程环境,怎么可以将汇编编程C呢? 要写汇编用keil软件可以,但是也没有将汇编转换成C的。

C语言程序设计中软件调试主要采取哪些方法
1,保存为c或c++文件 2,根据断点调试找到错误处。3,采用F10或F11单步调试找到精确的错误处。其中f10是跳过函数盗用,f11是进入函数体调试。一般是先用f10,确定函数输入输出是否正确(与自己想的一样),如不一样,则用f11进入函数体一步一步调试。4,在调试过程中,肯定得监视程序中的变量。在vc6...

gdb基本使用和命令
首先,要调试C\/C++程序,编译时需添加-g参数,以便在可执行文件中包含调试信息。若缺乏-g,将无法显示函数名和变量名,只能看到内存地址。启动GDB后,简单输入命令即可开始。利用'-tui'选项,可以实时显示源代码,方便查看和控制。在调试时,需确保程序已加入调试信息并以正确的形式启动GDB。如果修改代码...

VC不能调试,一调试就进入汇编语句。
“VC卸载”。。。你真行。这个是你程序错误,和VC软件无关。F5调试错误,进入汇编,在编辑器界面下方查看调用堆栈,找到具体出问题的代码,检查各个变量地址和数值,找到代码错误并改正。

哪个C语言编译器可以在调试的时候能看到内存信息
用VC6.0就行了,以全英文版为例。在你要看内存的程序代码段,点手掌图标(设断点的意思),点F5(运行到断点处),点VIEW->debeg windows->里面有几个选项,分别是1、Memory(查看内存,你可以在里面写出你要看的地址值,比如0x10000000),2、Registers(查看32位寄存器值),3、Disassembly(反汇编...

VC++ 6.0如何显示错误位置
VC++ 6.0显示错误的位置:1、首先我们先编辑一个错误的程序。2、点击上边的运行按钮,弹出提示框,点击确定。3、由于该程序语法有错误,所以下面会提示有一个错误。4、双击出错提示行,那个错误原因会变成蓝色。5、回到上面程序的位置,在前面出错的地方有一个错误标识箭头。

VC++如何跟踪调试
VC调试,一般是需要设置一个断点的,譬如1)int i;2)int j;如果在int j处设置了断点,那么当程序运行到int j时,程序停止,这个时候就可以查看程序各种变量或执行状态了,简单的办法就是把鼠标停在要看的变量上面。会有一个个小的弹出窗口来显示变量状态。1)设置断点,一种是在代码行的最左边鼠标...

使用visual studio调试C++程序出现cannot find or open the pdb file...
pdb文件是调试数据库, 你调试程序的时候会加载, 在你运行的程序中, 调用了kernel32.dll等这几个动态库, 如果你想调试这几个库的话, 可以根据其版本, 去网上下载相应的pdb文件, 如果你对调试这几个动态库不感兴趣, 可以忽略这些提示. 如下图, 在调用堆栈里, 如果你下载了kernel32.dll的pdb文件, ...

vc编译的程序在运行过程中,出现0x005be2cc 指令引用的0x02006ff4 内存...
找出错误的方法一般是,通过单步跟踪,断点调试,查看程序调用堆栈的方式。需要一定的编程经验,如果经验较少的话,就需要仔细的检查代码了。有什么不懂的,可以到我的空间中去留言。参考资料:http:\/\/hi.baidu.com\/ligh0721

vc++ 调试时出现Debug Assertion Failed!该怎么办?
1、首先需要打开vc++,然后开始编写好程序源代码。2、在执行程序时弹出的错误警告对话框,这个就是错误的信息,然后按快捷键y,等待一会。3、最后,此时使用delete就是删除一个不存在的指针,从而报错,如下效果就是可以了。

vc2005 怎么查看预处理文件,和汇编代码?
1.VS2005下 查看汇编代码:设置断点,然后运行起来,运行到断点处,此时,点“调试”==>“窗口”==>“调用堆栈”在调用堆栈的对话框里,右键==>“转到反汇编”,即可查看到汇编代码;--- 2. 这个工具可以调试VS生成的可执行文件 开始-所有程序-Microsoft .NET Framework SDK v2.0==>Tools==>MS...

相似回答
大家正在搜