问题标签 [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 投票
0 回答
360 浏览

go - 使用 gdb 或 cgdb 调试 docker 守护进程

我一直在尝试使用gdbcgdb在主机操作系统(ubuntu 14.04 操作系统)上运行的 Ubuntu 14.04 容器上调试并进入 docker 守护程序代码。我-O0 -g在容器中构建调试二进制文件时使用了标志。

容器中使用的 go 版本:

我无法使用以下代码单步执行代码cgdb

如何确认构建的二进制文件是调试的?我可以使用工具readelf阅读标题以确认这一点吗?

我应该将 GOPATH 或 GOROOT 设置为特定目录吗?

我的环境中是否还有其他依赖项可能缺少?

0 投票
0 回答
41 浏览

multithreading - 当前线程挂断时如何切换到另一个线程?

我正在使用 gdb,如下所示:

我的问题是当我使用 gdb 时set scheduler-locking on,如果我当前的线程是 thread_2,当它挂断时wait_thread_1_to_wake_me_up(),我现在如何切换到 thread_1?

因为当前线程是 thread_2 并且它正在挂起,所以我无法输入类似“线程 1”的任何内容。

真是烦死我了,有谁知道怎么做的吗?或者其他一些聪明的想法来摆脱它?

非常感谢!

0 投票
3 回答
669 浏览

gdb - gdb - 执行当前行而不继续

这可能已在其他地方被问过,但对谷歌来说有点棘手。

我正在 gdb (或更具体地说是 cgdb )中调试如下代码:

当我逐步使用“n”时,光标将到达“字符串 b”行。此时我可以检查 a 的值,但由于该行尚未执行,因此尚未填充 b。再次按下“n”将执行该行,但随后也会移出 if 循环,b 现在将超出范围。有没有办法在不继续执行当前行的情况下执行它,以便在超出范围之前检查其结果?

0 投票
0 回答
46 浏览

c++ - 单步执行源文件时,cgdb 没有看到 basic_ios.h 标头

当我在 cgdb 中踏入这一行时


我收到这个错误



显然,在使用 cgdb 指定它们后,它看不到我的系统头文件

dir -isystem path/to/gcc/system/headers

根据错误,它正在basic_ios.h寻找


但是该目录在我的文件系统中不存在,但我确实在这些目录中有该文件

/usr/include/c++/6.2.1/bits/basic_ios.h

/usr/lib/gcc/i686-pc-linux-gnu/5.4.0/include/c++/bits/basic_ios.h

我怎样才能让 cgdb 也单步执行系统头文件。我必须在我的 cmake 文件中做些什么吗?我确实使用调试标志构建了我的程序,所以出了什么问题?

0 投票
1 回答
114 浏览

bash - 无法在 gdb 中输入字母“v”

我遇到了一个奇怪的问题,gdb 不允许我在提示中输入字母“v”。GDB 也不让我复制粘贴这封信。复制粘贴一系列包含该字母的字符会导致“v”被删除。例如,复制粘贴“RecoveryTest”会导致“RecoeryTest”出现在提示中。

有趣的是,在我退出 GDB 后,我看到以下两行:

我已经尝试在 zsh 和 bash 中启动 gdb 并且两个 shell 都存在这个问题。

我也尝试过使用 cgdb 并且问题也存在。

0 投票
0 回答
86 浏览

gdb - cgdb 不工作 macOS Sierra

我在设置断点后尝试运行cgdb

我尝试了这两个指南都没有成功:

https://opensource.apple.com/source/lldb/lldb-69/docs/code-signing.txt

https://sourceware.org/gdb/wiki/BuildingOnDarwin

运行 macOS Sierra 10.12.2 (16C67)

0 投票
1 回答
68 浏览

linux - 如何使“下一个”在 cgdb 中工作

如果您阅读了 cgdb手册,按 F8 应该向 gdb 发出“next”命令,输入“next”在 gdb 以及 cgdb 交互模式中按预期工作。但是,按 F8 会进入我系统上的一个功能(amd64 的最新拱门),而不是越过它。如何解决这个问题?我正在使用 cgdb 版本 20170325。

0 投票
1 回答
584 浏览

lldb - 有没有像 CGDB 这样的 LLDB 工具?

我正在为 LLDB 寻找像 CGDB 这样的工具。

使终端中的调试更容易。

谢谢。

0 投票
0 回答
32 浏览

gdb - 来自 cgdb 的令人困惑的提示“从头开始?”

在 cgdb 中运行一个多线程应用程序(在调度程序锁定(关闭)、不间断(关闭)等方面使用 gdb 默认值),我得到了这些奇怪的“无提示”提示,如下所示:

该程序具有相当广泛的日志记录,并且肯定不会重新启动。似乎运行正常。

不响应提示似乎很好。程序继续运行。响应提示(在程序运行时应该不可能)产生最后一行奇怪的输出,这应该是第一个提示的前导。

有任何想法吗?作为参考,我的完整 .gdbinit:

不确定 cgdb 是否是这里的一个因素。

0 投票
0 回答
65 浏览

vim - 我可以在 CGDB 中映射 SHIFT+F11 Visual Studio 调试器快捷方式吗?

我想使用 Visual Studio 默认使用的相同键盘快捷键在 CGDB 中进行步进调试。对我来说主要的三个是跨步 (F10)、跨步 (F11) 和跨步 (SHIFT+F11)。我使用 Ubuntu 并禁用了 F10(菜单)和 F11(全屏)gnome 终端快捷方式。然后我可以使用以下~/.cgdb/cgdbrc文件成功运行 CGDB:

虽然我无法成功映射 SHIFT+F11。我都试过了:

...和:

......没有运气。此处有关 Vim 快速键码的页面提到了“终端键码”,我曾经cat发现 SHIFT+F11 代码是^[[23;2~,但我无法弄清楚如何在我的 cgdbrc 文件中使用它。任何人都可以帮忙吗?