首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我机器上的gdb不支持tui显示

gdb是GNU调试器的缩写,是一款用于调试程序的工具。TUI(Text User Interface)是gdb的一个可选功能,它提供了一个基于文本的图形界面,可以在调试过程中以图形化的方式显示源代码、寄存器、堆栈等信息。

如果你的机器上的gdb不支持tui显示,可能是由于以下几个原因:

  1. 版本问题:确保你的gdb版本支持TUI功能。较旧的版本可能不支持TUI或者需要手动启用。
  2. 编译选项问题:在编译gdb时,需要启用TUI选项。如果你是通过包管理器安装的gdb,可能需要安装带有TUI支持的版本。
  3. 终端支持问题:TUI功能需要一个支持图形界面的终端。确保你使用的终端支持TUI显示,例如GNOME终端或者Konsole。

如果你的机器上的gdb确实不支持TUI显示,你仍然可以使用其他方式进行调试,例如:

  1. 命令行模式:使用gdb的命令行模式进行调试。虽然没有图形化界面,但你仍然可以通过命令来执行调试操作。
  2. 文本界面:使用gdb的文本界面(非TUI)进行调试。这种界面提供了一些文本命令和界面布局,可以在调试过程中查看源代码、寄存器、堆栈等信息。

总结起来,如果你的机器上的gdb不支持TUI显示,你可以尝试升级到支持TUI的版本,或者使用其他方式进行调试。腾讯云提供了云服务器(CVM)产品,可以满足你的服务器运维需求,你可以在腾讯云官网了解更多相关信息:腾讯云云服务器

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

GDB入门教程

使用示例: gdb -tui 分屏后效果如下图所示: image.png 3.2如何退出gdb分屏模式 使用快捷键Ctrl+x+a切换。...3.3GDB文本界面(Text User Interface(TUI))介绍 3.3.1 打开TUI模式 方法一: 使用gdbtui 或者gdb -tui开始一个调试 $ gdbtui -q sample...3.3.2TUI模式下有4个窗口 command 命令窗口:可以键入调试命令,这也是默认窗口; source 源代码窗口:显示当前行,断点等信息; assembly:汇编代码窗口; register...当我们通过方向键调整了gdbtui src 窗口以后,可以通过update命令重新把焦点定位到当前执行代码。 help focus可用于查看focus用法。...---- 参考文献 [1]在gdb显示源码(gdbtui使用方法) [2]GDB使用,重点讲解图像化 gdb -tui 方式

2.1K41

GDB调试指南-源码查看

) 指定源码路径 在查看源码之前,首先要确保我们程序能够关联到源码,一般来说,我们在自己机器加上-g参数编译完之后,使用gdb都能查看到源码,但是如果出现下面的情况呢?...这里使用是相对路径,保险起见,你也可以使用绝对路径。 更换源码目录 例如,你编译好程序文件,放到了另外一台机器上进行调试,或者你源码文件全都移动到了另外一个目录,怎么办呢?...编辑源码 为了避免已经启动了调试之后,需要编辑源码,又不想退出,可以直接在gdb模式下编辑源码,它默认使用编辑器是/bin/ex,但是你机器可能没有这个编辑器,或者你想使用自己熟悉编辑器,那么可以通过下面的方式进行设置...另外一种模式 启动时,带上tui(Text User Interface)参数,会有意想不到效果,它会将调试在多个文本窗口呈现: gdb main -tui ?...GDB-TUI 但是本文不作介绍,有兴趣可以探索一下。 总结 本文介绍了GDB调试中源码查看,源码编辑以及如何在GDB调试模式下执行shell命令。

2.1K40
  • Linux系统下gdb调试(一)

    2、gdb功能作用: gdb主要提供以下功能: 设置断点,(断点可以是条件表达式) ,使程序在指定代码行暂停执行便于观察。...而gdb正是利用这些信息使源代码和机器码相关联。...而且光看命令是很难领悟,读者在看到这里也最好是自己去敲命令体验一下,这样才能够快速掌握它(不过这里只是简单使用,比较喜欢在TUI(TextUser Interface),它为GDB调试文本用户界面...,可以方便地显示源代码、汇编和寄存器文本窗口),这里以一个简单程序为例,下面是源代码。...(4)小结: 这里的话,还有好多命令没有讲到,但是用这个TUI界面去调试,过程比较清楚,以前寄存器地址都非常清楚显示出来了。

    4K10

    golang源码分析:mac安装gdb

    /gdb/gdb-8.0.1.tar.gz 对mac 10.15.是不ok,9.2可以编译通过 一段简单源码开始 package main import "fmt" func main() {...解决办法 echo "set startup-with-shell off" > ~/.gdbinit TUI(TextUser Interface)为GDB调试文本用户界面,可以方便地显示源代码...、汇编和寄存器文本窗口,为了方便和代码关联可以调出tui窗口 tui enable 或者 sudo gdb -tui main 遇到问题 Loading Go Runtime support....参考:https://golang.org/doc/gdb TUI模式下有4个窗口: (cmd)command 命令窗口. 可以键入调试命令 (src)source 源代码窗口....显示当前行,断点等信息 (asm)assembly 汇编代码窗口 (reg)register 寄存器窗口 最常用也就是默认使用方式,也可以通过layout命令来进行选择自己需要窗口,可参见help

    81320

    深入探索GDB:Linux下强大调试神器

    远程调试:跨越设备边界 对于部署在远程服务器或嵌入式设备程序,GDB支持通过网络进行远程调试。...只需在远程设备运行GDB服务器端(gdbserver),并在本地GDB客户端连接至服务器端即可: # 在远程设备 gdbserver : /path/to/remote_program.../local_program (gdb) target remote : 如此一来,便能在本地环境中调试运行在远程设备程序,极大地简化了跨设备调试复杂性。...利用TUI模式提升效率 GDBText User Interface(TUI)模式结合了文本界面的简洁与图形界面的部分优点,能够在同一屏幕内同时显示源代码、汇编代码、调用栈等信息。...启用TUI模式: (gdb) tui enable 2. 自定义命令与脚本自动化 GDB允许用户自定义命令和编写脚本,实现常见操作自动化。

    83910

    全志D1s裸机开发之体验第一个程序

    ,它会自动检测到芯片,如下图所示: 如果没有上图所示信息,有多种可能: ① 没有自动识别: 可以手动识别,如下图所示: ② 板子程序有 Bug ,导致板子死机了:可以让板子先进入烧录模式,再按照步骤...riscv64-unknown-elf-gdb -tui benos_payload.elf 执行上述命令后,可以得到如下界面(源码窗口里汉字是乱码,暂时无法解决): 使用 TUI 便利在于可以方便地观看源码...、反汇编码、寄存器,显示这些信息窗口被称为 layout 。...使用以下命令可以显示这些 layout : ① layout src:显示源码窗口 ② layout asm:显示汇编窗口 ③ layout regs:在之前窗口上再显示寄存器窗口 ④ layout...split:显示源码、汇编窗口 ⑤ layout next:显示下一个 layout ⑥ layout prev:显示上一个 layout 能输入各类 GDB 命令窗口是 命令窗口 ,它总是显示

    24110

    GDB调试技巧】提高gdb调试效率

    GDB启动时,可以加上一些GDB启动开关,详细开关可以用gdbhelp查看。 gdb技巧 1. gdb小技巧汇总 gdb技巧挺多,比如说直接回车是继续执行一次代码 巧用tab补全 1....TUI 模式:GDB 界面会分为几个窗格,包括源代码窗格、汇编窗格、寄存器窗格等。 按下ctrl x a会显示下图窗口(可以上下滑动查看原代码),其中箭头表示【当前准备执行但还未执行开始位置】。...list 查看代码内容 list list 与 l 等价 如果没有指定参数,list 命令默认会显示当前执行位置附近源代码。也可以指定行号或者函数名作为参数,以显示特定位置源代码。...list: 显示当前执行位置周围源代码。 list function_name: 显示名为 function_name 函数源代码。 list line_number: 显示指定行号源代码。...3.3 方式三:tui模式 按下ctrl x a会显示下图窗口(可以上下滑动查看原代码),其中箭头表示【当前准备执行但还未执行开始位置】。再次按下ctrl x a会退出该窗口模式。 4.

    17110

    GDB那些奇淫技巧

    那么把断点设置在一些起始函数呢?.../demo 可惜 gdb 不支持这种管道,不过可以通过下面的方法实现: $ gdb demo (gdb) run < <(python -c 'print "A"*100') Starting program...上面这几个拓展可能大家可能都不陌生,但还有另外一个比较常用gdb-dashboard,其功能更为简单,而且使用gdb 原本信息,所以支持指令集更多。...比如下面的截图就是曾经用 gdb + OpenOCD 来调试 ESP32固件示例: Xtensa指令集调试 ESP32是比较少见Xtensa指令集架构,上面的拓展都不支持,不过 gdb 本身支持...gdb object pid 对正在执行进程进行调试 gdb 正常启动,启动后需要 file 命令手动加载 gdb -tui 启用 gdb 文本界面(或 ctrl-x ctrl-a 更换 CLI

    1.2K20

    GDB使用详解

    -tui file filename 带画面的调试 ?...二、常见命令 l(list):显示代码,list 行号:将显示当前文件以“行号”为中心前后10行代码,如:list 12,list 函数名:将显示“函数名”所在函数源代码,如:list main...help 命令将显示“命令”常用帮助信息; call 函数(参数):调用“函数”,并传递“参数”,如:call gdb_test(55); layout:用于分割窗口,可以一边查看代码,一边测试;...: 在每次单步进行指令后,紧接着输出被设置表达式及值; stepi或nexti:单步跟踪一些机器指令; Ctrl + L:刷新窗口; quit:简记为 q ,退出gdb; 回车:重复一条命令;...执行下一步操作,注意命令行此时显示并不是当前执行操作,而是下一次要执行

    6.8K100

    CC++生态工具链——GDB调试器

    二,两种常见编译模式:Debug模式 & Release模式 Debug模式: 代码在编译时会显示出完整调试信息以定位问题,编译期间可以查看程序运行时信息,且编译期间不考虑对代码执行进行优化。...生成可执行文件执行速度偏慢。 Release模式: 代码在编译时不会显示调试信息,并且编译期间会优化代码执行。生成可执行文件执行速度较快。 GDB主要在Debug模式下进行使用。.../demo GDB调试结果: 注:加一个“-tui"参数可以进入GDB可视化界面,可以很直观地看到自己标注断点 "gdb ..../demo -tui"执行结果: 四,GDB主要语法 1.查看运行信息指令 命令全称(命令缩写) 具体含义 show 显示调试器本身信息 info 显示被调试程序信息 list 显示源代码...print 打印变量值 display 用法和print类似,但支持自动打印 where 显示当前行号和所在函数 watch 监控变量或表达式值 whatis 查看变量类型 ptype 查看变量类型

    1.6K20

    gdb基础命令和常用操作补充

    n个函数 f n 选择函数调用链编号为n函数,0表示当前函数 info files 显示core文件里面的segment映射 如果core文件函数调用栈乱掉,可以参照 http://devpit.org...启动和查看程序 setargs 设置程序运行参数 run运行程序,使用方式如:r   List  显示程序源代码命令,使用show listsize 查看显示代码行数   list <...(gdb) call test("abc") 使用 "--tui" 参数,可以在终端窗口上部显示一个源代码查看窗。...$ gdb --tui hello set scheduler-locking off|on|step 在使用step或者continue命令调试当前被调试线程时候,其他线程也是同时执行,怎么只让被调试程序执行呢...print elements 0 再次: gdb>p string "xxxx","yyyy",""//显示完整字符串 查看命令帮助。

    3K00

    GDB调试艺术:热手篇

    原先使用Python很顺手,但是基于项目需求原因需要转到c++开发,后者优点是效率高,缺点是技术难度大,最要命是调试难度比python要大很多,于是又不得不把GDB应用一些知识点捡起来。...因此借此把GDB使用心得或学习内容记录下来,以后需要时候还能查看。...使用如下命令通过GDB将有问题程序加载起来: gdb insert_sort -tui -tuigdb提供介于命令行和纯文本之间一种中间形态,或者说是GDB想通过文本方式提供某种类似于命令行功能...可以看到gdb在上层“窗口”中以高亮形式停留在38行,这感觉跟使用vs设置断点后,程序停留在断点对应行感觉一样,这种显示让人感觉很温暖,比存命令行模式只输出一系列文本信息体验就好了很多。...根据GDB显示情形,我们有理由怀疑for这行是造成卡死根本原因,造成for不停止主要原因可能是变量num_y没有正确增加,因此我们要检测一下它数值,于是使用如下命令: print num_y

    89830

    使用gdb调试程序

    gdb调试C/C++程序命令速记… 运行gdb 想要调试程序,在编译程序时候需要添加-g参数....g++ test.cpp -g -o test gdb test #调试程序 gdb test -tui #显示代码窗口 另一种方式: gdb #启动gdb file test #用file命令来启动对...list #显示代码,如果显示不全再点个回车 list 行号 #显示以该行为中心一段代码 控制调试进程 n #单步执行,不跳入函数,next简写(vs中F10) s #真正单步执行,跳入函数,step...1 #运行1号快照 d c #删除编号为ID快照 窗口设置 layout src #显示源码窗口 layout asm #显示反汇编窗口 layout regs #显示源码\反汇编\寄存器窗口...q #退出gdb bt #查看堆栈,backtrace简写 info locals #显示当前函数中所有变量值 cgdb test #一个可视化调试工具.

    68110

    GDB调试入门,看这篇就够了

    在查看源码之前,首先要确保我们程序能够关联到源码,一般来说,我们在自己机器加上-g参数编译完之后,使用gdb都能查看到源码,但是如果出现下面的情况呢?...源码被移走 例如,现在将main.c移动到当前temp目录下,再执行l命令: (gdb) l main.c: No such file or directory....这里使用是相对路径,保险起见,你也可以使用绝对路径。 更换源码目录 例如,你编译好程序文件,放到了另外一台机器上进行调试,或者你源码文件全都移动到了另外一个目录,怎么办呢?...编辑源码 为了避免已经启动了调试之后,需要编辑源码,又不想退出,可以直接在gdb模式下编辑源码,它默认使用编辑器是/bin/ex,但是你机器可能没有这个编辑器,或者你想使用自己熟悉编辑器,那么可以通过下面的方式进行设置...另外一种模式 启动时,带上tui(Text User Interface)参数,会有意想不到效果,它会将调试在多个文本窗口呈现: gdb main -tuiGDB-TUI ?

    7.6K62

    第四款编辑器:微信公众号使用 Markdown 来显示代码

    这已经是第四次写编辑器了~~~ 第一次是在三年前(2014年4月份),当时听说有一个工具叫 Node-Webkit,于是就结合CodeMirror撸了一个编辑器,界面如下: GitHub 地址:https...://github.com/phodal/lumia 第二次是在一年多以前,当时在验证编辑-发布-分离模式,即一键 PUSH 到 GitHub 上去: 技术栈: Electron React Material...,好在这次功能比较简单,只需要一个可以支持代码高亮转换工具——但是它看上去更像是一个转换工具。...过去,我们要这样截图来显示模糊代码: 现在终于可以直接复制代码到编辑器,然后复制到代码来玩~~: (function () { var input, output; var converter...再 Ctrl + C 一下,就可以愉快地粘贴到你公众号上了。 采用 10 px 字体、12 px行高 GitHub 地址:https://github.com/phodal/mdpub

    1.6K80

    GDB调试还不会?看这篇就够了!

    ) 指定源码路径 在查看源码之前,首先要确保我们程序能够关联到源码,一般来说,我们在自己机器加上-g参数编译完之后,使用gdb都能查看到源码,但是如果出现下面的情况呢?...源码被移走 例如,现在将main.c移动到当前temp目录下,再执行l命令: (gdb) l 1 main.c: No such file or directory....这里使用是相对路径,保险起见,你也可以使用绝对路径。 更换源码目录 例如,你编译好程序文件,放到了另外一台机器上进行调试,或者你源码文件全都移动到了另外一个目录,怎么办呢?...编辑源码 为了避免已经启动了调试之后,需要编辑源码,又不想退出,可以直接在gdb模式下编辑源码,它默认使用编辑器是/bin/ex,但是你机器可能没有这个编辑器,或者你想使用自己熟悉编辑器,那么可以通过下面的方式进行设置...另外一种模式 启动时,带上tui(Text User Interface)参数,会有意想不到效果,它会将调试在多个文本窗口呈现: gdb main -tui ?

    4.6K21

    PHP 源码阅读

    调试 docker-compose exec centos bash // tui 模式运行 也可先调试, 然后 CTRL+X+A gdb --tui // 调试可执行文件 gdb php // 调试进程号...gdb --pid=xxx 常用命令 说明 run 重新开始运行文件 start 单步执行,运行程序,停在第一执行语句 list 查看原代码,简写 l set 设置变量值 next 单步调试(逐过程...,就会去获取zval.value.ref,是一个zend_reference类型(_zend_reference别名) 而实际_zend_reference结构体里有一个成员val是zval类型,...这个val才是存储实际值 引用变量修改实际是zval.value.ref.val这个结构体内部值, 因为引用变量指向zval.value.ref指针都是一样, 所以都会修改成功 引用变量删除之后...编译型语言: 可以先把代码转成机器码再执行 脚本型语言: 如PHP是运行时进行解释或编译 词法扫描分析: 将源文件转换成token流 语法分析: 从token流生成抽象语法树(AST) 编译过程:

    21010
    领券