永发信息网

什么是调试器用C语言写的程序和汇编写的程序 用的调试工具一样吗

答案:1  悬赏:60  手机版
解决时间 2021-01-27 02:13
什么是调试器用C语言写的程序和汇编写的程序 用的调试工具一样吗 UBUNTU LINUX下有哪些汇编调试器 和调试器 调试器 和反汇编一样吗?什么是反汇编工具.汇编程序和C程序的调试有什么不同 能用同一种吗 LINUX下的KDBG我的装好了不能使用 而GDB又不清楚到底怎么回事
最佳答案
调试器就是调试程序用的,能够通过设置断点、步进等方式交互式的控制程序的运行,并查看程序实时的运行状况(比如查看运行到某一位置时变量的值、查看函数调用记录、查看栈的内容等),以及查看编译后生成的汇编指令等。
一般来说调试器调试程序要求被调试的程序是debug模式编译的(gcc -g),即包含debug symbol……也就是变量名函数名之类的内容;一般编译生成的程序则不包含上述内容,因此很难准确定位函数或变量。反汇编工具和调试器的主要区别就在于此:反汇编基本只能查看汇编指令(部分动态语言如.net可能可以部分还原出源码),因此难度自然比通过调试器调试debug程序要大得多。
总的来说调试器用来调试自己编译的程序(除非到手的可执行文件是包含symbol的),反汇编则是对付没有源码的程序……

一般来说调试器都能调试c语言和汇编语言程序(因为同一平台下本质是一样的……),linux下最好用的自然毫无疑问是gdb
gdb使用其实很简单,自己百度一下就行,基本就是:
1、首先安装gdb和debug symbols
2、用debug模式编译程序(gcc选项添加-g)
3、通过gdb启动目标程序(比如main) gdb main
4、然后就进入gdb界面了
通过break设置断点,run/continue/step控制运行,info查看各种信息,print 变量名或表达式查看值,backtrace查看函数调用记录,disassemble看汇编代码等等……
此外gdb还支持设置宏等高级功能……

可以说gdb用的好能把c语言用出交互式脚本语言的感觉,对于写程序十分有帮助
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
启航教育(故园路)地址有知道的么?有点事想过
医院洗纹身好吗,谢谢
杨家沟村地址有知道的么?有点事想过去
煞性的意思是什么啊?知道的请说下!
历史上对屈突通评价是什么?
怎么把手机弄烂啊?
汽车导航一个是推荐路段 一个是多走高速 一个
椒盐这种东西在超市有卖的吗?
常州博文教育地址在什么地方,我要处理点事
薛家峁村地址在什么地方,我要处理点事
夫妻离婚四岁儿子抚养权法院会征求孩子意见吗
推荐一双篮球鞋吧,不要塑料鞋比如ZK5什么的
六个月的宝宝大便干,纯母乳
文翰教育(常州天宁区)地址在哪,我要去那里办
怎么更新视频驱动
推荐资讯
王者天下英雄的系谱怎样注册账号
市脔的意思是什么啊?知道的请说下!
Win8怎么把视频格式转换为Mp3
根据《建设工程施工许可管理办法》,下列工程
高低温循环试验中湿度设置为多少
红色短信既包括通常意义上的以体现红色故事、
学戏剧影视文学专业需要什么必备品,比相机,
打屁股什么姿势比较疼?
最正宗的北京杂酱面的杂酱怎么做
孩子14岁了7年前在人寿买了6万的保额,现在我
DNF现在什么辅助稳定 给力 收费的??
Ledder英文名名字解释
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?