问题标签 [cgdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
193 浏览

c++ - GDB 步骤 (in) 不适用于 std::string

使用 GDB (CGDB) 我可以进入 C++ 标准库容器的代码,例如std::vectoror std::set,但不是std::string. 有谁知道为什么?我可以以某种方式启用它吗?我正在使用 Ubuntu 20.04。

例如,用 编译上面的代码后g++ -g debug.cpp,我可以进入std::vectorandstd::set构造函数(以及基类构造函数等),但不能进入std::string.

0 投票
0 回答
71 浏览

linux - cgdb 向终端产生噪声输出符号

cgdb在终端打印这些符号:[32m <some string> [m.

执行此操作的是程序的“gdb”部分。“cgdb”部分(或您命名的窗口)以颜色打印到终端。我已经cgdbLinux Mint软件包存储库安装并希望它运行良好。

如何从中删除“噪音”输出cgdb

0 投票
0 回答
77 浏览

linux - CGDB:如何水平滚动 GDB 窗口?

我记得 CGDB 能够在它的 GDB 窗口中换行,但是在客户端的机器上,我几乎无法控制它,它只会剪掉所有不适合的东西——而在同一台机器上,纯 GDB 会换行.

我知道有问题的 GDB 窗口可以使用 PgUp/PgDn 垂直滚动,但问题是我无法查看 long std::string-s 的内容或查看类方法的全名。

那么,我该如何水平滚动它——或者恢复正常的换行模式呢?

PS:set width <any number>从 GDB 窗口中似乎没有帮助,被完全忽略;show width,当在之前调用时set width,输出 4 个字符后的值:

[UPD:]经过进一步调查,这看起来像是一个 CGDB 错误;修复(或仅仅是一种解决方法,如果没有 CGDB 开发人员审查就无法判断)就在这里

0 投票
0 回答
29 浏览

cgdb - 如何在 cgdb 中正确启用 ANSI 转义序列?

我在 WSL2 上使用 CGDB 版本 0.6.7(apt 提供的最新版本)。颜色在代码窗口中正确显示,但我[34m在下部窗口中看到了类似的序列。请看下面的截图:

cgdb截图

我发现摆脱这些的唯一方法是使用命令set style enabled off。但是,如果它只是工作而不是完全禁用该功能会更好。如何设置它以使转义序列在下部窗口中正常工作?

0 投票
1 回答
10 浏览

gdb - htobe64 函数禁用调试器列出源代码的能力

我已经编译了非常简单的程序

当我使用 cgdb 调试它时,我得到以下信息:

CGDB 正常

但是当我取消注释该行时// val = htobe64(val),会发生一些奇怪的事情:

CGDB不正常

取消注释这一行会导致 cgdb 开始显示初始屏幕,当我start在屏幕截图中键入时,它只会给我汇编代码(在 cgdb 开始直接显示源代码而不是它的初始屏幕之前)。此外,文件路径以某种方式/home/user/byteswap.h出现在屏幕截图中,但该文件不存在(在此示例user中是我的用户名和/home/user我的工作目录)。

有人可以告诉我这里发生了什么以及我可以做些什么来调试正在调用的程序htobe64,即如何实现该 cgdb 将向我显示顶部的第一个示例中的源代码?

以下是工具版本: