问题标签 [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.
go - 使用 gdb 或 cgdb 调试 docker 守护进程
我一直在尝试使用gdb
或cgdb
在主机操作系统(ubuntu 14.04 操作系统)上运行的 Ubuntu 14.04 容器上调试并进入 docker 守护程序代码。我-O0 -g
在容器中构建调试二进制文件时使用了标志。
容器中使用的 go 版本:
我无法使用以下代码单步执行代码cgdb
:
如何确认构建的二进制文件是调试的?我可以使用工具readelf
阅读标题以确认这一点吗?
我应该将 GOPATH 或 GOROOT 设置为特定目录吗?
我的环境中是否还有其他依赖项可能缺少?
multithreading - 当前线程挂断时如何切换到另一个线程?
我正在使用 gdb,如下所示:
我的问题是当我使用 gdb 时set scheduler-locking on
,如果我当前的线程是 thread_2,当它挂断时wait_thread_1_to_wake_me_up()
,我现在如何切换到 thread_1?
因为当前线程是 thread_2 并且它正在挂起,所以我无法输入类似“线程 1”的任何内容。
真是烦死我了,有谁知道怎么做的吗?或者其他一些聪明的想法来摆脱它?
非常感谢!
gdb - gdb - 执行当前行而不继续
这可能已在其他地方被问过,但对谷歌来说有点棘手。
我正在 gdb (或更具体地说是 cgdb )中调试如下代码:
当我逐步使用“n”时,光标将到达“字符串 b”行。此时我可以检查 a 的值,但由于该行尚未执行,因此尚未填充 b。再次按下“n”将执行该行,但随后也会移出 if 循环,b 现在将超出范围。有没有办法在不继续执行当前行的情况下执行它,以便在超出范围之前检查其结果?
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 文件中做些什么吗?我确实使用调试标志构建了我的程序,所以出了什么问题?
bash - 无法在 gdb 中输入字母“v”
我遇到了一个奇怪的问题,gdb 不允许我在提示中输入字母“v”。GDB 也不让我复制粘贴这封信。复制粘贴一系列包含该字母的字符会导致“v”被删除。例如,复制粘贴“RecoveryTest”会导致“RecoeryTest”出现在提示中。
有趣的是,在我退出 GDB 后,我看到以下两行:
我已经尝试在 zsh 和 bash 中启动 gdb 并且两个 shell 都存在这个问题。
我也尝试过使用 cgdb 并且问题也存在。
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)
linux - 如何使“下一个”在 cgdb 中工作
如果您阅读了 cgdb手册,按 F8 应该向 gdb 发出“next”命令,输入“next”在 gdb 以及 cgdb 交互模式中按预期工作。但是,按 F8 会进入我系统上的一个功能(amd64 的最新拱门),而不是越过它。如何解决这个问题?我正在使用 cgdb 版本 20170325。
lldb - 有没有像 CGDB 这样的 LLDB 工具?
我正在为 LLDB 寻找像 CGDB 这样的工具。
使终端中的调试更容易。
谢谢。
gdb - 来自 cgdb 的令人困惑的提示“从头开始?”
在 cgdb 中运行一个多线程应用程序(在调度程序锁定(关闭)、不间断(关闭)等方面使用 gdb 默认值),我得到了这些奇怪的“无提示”提示,如下所示:
该程序具有相当广泛的日志记录,并且肯定不会重新启动。似乎运行正常。
不响应提示似乎很好。程序继续运行。响应提示(在程序运行时应该不可能)产生最后一行奇怪的输出,这应该是第一个提示的前导。
有任何想法吗?作为参考,我的完整 .gdbinit:
不确定 cgdb 是否是这里的一个因素。
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 文件中使用它。任何人都可以帮忙吗?