问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

GDB如何显示以下内容?我输入R,显示断点,但未显示LEGEND及以下内容,_百度问一问

发布网友 发布时间:2022-04-27 00:26

我来回答

1个回答

热心网友 时间:2023-11-13 19:58

摘要 1.设置和获取源代码显示数量: 默认情况下,GDB显示指定位置处以及其前后的10行代码,但是这是一个可设置的值。 set listsize count:设置list命令显示的源代码数量最多为count行,0表示不*行数。 show listsize:显示listsize的值。 2.编辑源代码: 在一些情况下,我们希望在编辑器中显示或者编辑源代码,GDB允许我们使用自己喜欢的编辑器。 可在环境变量EDITOR中指定GDB使用的编辑器,例如:EDITOR=/usr/bin/gedit;export EDITOR;gdb edit location:在编辑器中编辑位置location处的源代码,如果省略location,则编辑当前位置。咨询记录 · 回答于2021-08-15GDB如何显示以下内容?我输入R,显示断点,但未显示LEGEND及以下内容, 1.设置和获取源代码显示数量: 默认情况下,GDB显示指定位置处以及其前后的10行代码,但是这是一个可设置的值。 set listsize count:设置list命令显示的源代码数量最多为count行,0表示不*行数。 show listsize:显示listsize的值。 2.编辑源代码: 在一些情况下,我们希望在编辑器中显示或者编辑源代码,GDB允许我们使用自己喜欢的编辑器。 可在环境变量EDITOR中指定GDB使用的编辑器,例如:EDITOR=/usr/bin/gedit;export EDITOR;gdb edit location:在编辑器中编辑位置location处的源代码,如果省略location,则编辑当前位置。3.搜索源代码: 有的时候,我们希望在当前文件中进行搜索,GDB提供了这样的命令。 search regexp:从当前行的下一行开始向前搜索。 rev regexp :从当前行的上一行开始向后搜索。 有的时候,你会发现search命令总是提示“Expression not found”,这是因为当前行可能已经是最后一行了,特别是文件很短的时候。这里需要注意的是,任何list命令都会影响当前行的位置,并且由于每次都是多行输出,所以对当前行的影响并非简单地向前一行或者向后一行。4.源代码位置: GDB之所以可以查看到源代码,是因为它知道源代码放在哪里。 在一个调试会话中,GDB维护了一个源代码查找目录列表,默认值是编译目录和当前工作目录。当GDB需要一个源文件的时候,它依次在这些目录中查找,直到找到一个或者抛出错误。 GDB还维护了一个路径替换规则,将要搜索的原始路径按照找到的第一个规则做前缀替换,然后再在源码搜索目录中查找文件。 GDB允许明确指定源代码位置,或者路径替换规则,以应付源代码位置迁移的情况。 directory path-list:将一个或者多个源代码搜索目录加入到当前源码搜索目录列表的前面,目录之间使用空格间隔。 directory:不带参数的directory将源码搜索目录恢复为默认值。 set directories path-list:将源码目录设置为path-list,但是会补上默认目录。 show directories:显示源码搜索目录列表。 set substitute-path from to:设置目录替换规则,放置在规则列表的末端。 unset substitute-path [path]:删除path对应的替换规则,或者删除所有的替换规则。 show substitute-path [path]:显示path对应的替换规则,或者显示所有的替换规则。 5.查看机器码: 在一些必要的时候,我们需要查看汇编代码来诊断问题。GDB提供了这种可能。 GDB提供了两种能力:显示源代码位置与指令地址之间的映射;显示指定位置的汇编代码。 info line linespec:显示源代码linespec处对应的汇编地址范围。 info line *addr:显示地址addr处对应的源代码位置。 disassemble,disassemble /m,disassemble /r:显示指定地址范围内的汇编代码,有4种使用形式,第一种不带参数,显示当前正在执行的函数的汇编代码;第二 种是一个参数,显示该地址所在函数的汇编代码;第三种是两个参数的disassemble start,end,显示地址[start,end)内的汇编代码;第四种是两个参数的 disassemble start,+length,显示地址[start,start+length)内的汇编代码。参数可以是16进制的地址,也可以是函数名。/m表示混合输出源代码和汇编代码,/r表 示混合输出二进制和汇编代码。set disassembly-flavor instruction-set:设置显示汇编代码时使用的风格,目前只针对intel x86系列,可取的值为att和intel,默认是att。 show disassembly-flavor:显示disassembly-flavor设置 set disassemble-next-line on|off|auto:当程序停止下来的时候,是否显示下一行源代码的汇编代码,默认为off。 show disassemble-next-line:显示disassemble-next-line设置。6.显示指定位置的源代码: list命令可用于显示指定位置处的源代码。list命令会影响当前行和当前文件。 list命令有多种方式指定要显示的源代码范围,可以是行号,函数名,甚至是指令地址。 常用的如下: list linenum:显示指定行数附近的代码。 list function:显示指定函数附近的代码。 list *addr:显示指定地址附近的代码。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
有类似xxxholic和恐怖宠物店的漫画吗 沂水滑雪场怎么走 沂水天然地下画廊景区交通指南 m果实能力 脑血管造影适应症 重仓大盘蓝筹股的基金,或加指数基金? 文言文 理穷言他 有托其妻子于其友而之楚游者的有是什么意思 有托其妻子于其友而之楚... 猫吃了毒老鼠,吐白沫,惊叫,走不稳 内存对手机性能有多重要 如何鉴别建盏是否添加过化学原料 (Linux)很多程序在运行时需要指定运行时参数,那么如何在gdb中设置... CPU和CPUID是什么关系? linux里文件如何进行文件脱壳 文档转换为pdf 怎么转换pdf文档 苹果手机怎么修改点不进去 苹果手机怎么改? 爱吹牛,说自己有很能力特别强,自己狂妄是躁狂症的表现吗?这种精神症重庆歌乐山精神病医院能治吗? 苹果手机的微信怎么修改 喜欢吹牛的人是什么心理 苹果手机怎么改? 男朋友特别爱吹牛逼。显得自己很厉害? 苹果手机怎么改第二次 举生活中例子应如何处理好职业理想与职业的关系 苹果手机改不了? 职业和理想的议论文 爱吹牛,但是有实力的人。说的时候一套一套的。做事又强很强。办事时候很沉默? 苹果手机微信怎么改 求海贼王经典对白 如何快速查看将C反汇编的代码 用c-free5.0编译一个C程序后,如何用c-free查看这个程序的反汇编代码呢?像OD一样查看 iar disassemble 其中的每列各代表什么意思? gdb调试中怎么查看其中一行的汇编代码 c-free怎么看进程 linux 下的 nasm 用什么工具调试?或者说怎么做才能调试它,我用gdb不太会用,我想调试写出来的com文件 鬼泣HD合集是不是不管哪个平台都没有中文版? 鬼泣3特别版PC和PS3都有中文吗? 鬼泣4只有PC ps4鬼泣hd怎么设置中文啊,哪位大佬知道 鬼泣HD和鬼泣4有中文版吗 我想入手鬼泣HD合集版,请问这个有中文的吗? 什么时候有中文版的鬼泣合集HD 鬼泣hd是什么东西 深圳有几个区?哪个区租房比较安全? 如何评价《鬼泣HD》这款游戏? 深圳哪个区的房子比较便宜 深圳哪个区房比较好? 为什么鬼泣hd不能用win10玩? 关东煮如何做? 深圳买房哪个区比较好? 鬼泣系列有几部游戏?