c++ - 在 Linux 上调试 C/C++ 运行时库并查看库代码?

标签 c++ c linux debugging

<分区>

在 Visual Studio 2012 中编写 C++ 时,我可以介入 malloc() 等函数的实际 Microsoft 实现。

在 Linux 上使用什么(调试器?)最好,我可以介入 Linux/GCC 的 malloc() 等函数实现吗?做起来是不是比较简单?在 Linux 上编写 C++ 时,我想了解 Linux 的“幕后”实际发生了什么。

最佳答案

根据您的环境,我会说,这很简单。但这实际上取决于您的设置。那你打算用什么?

Linux 上的大多数调试器 依赖gdb并且只是 gui 的。如果你打算使用 QT例如,做你想做的事真的很容易/简单。你也可以使用 ddd这也只是 gdb 的 gui,或者终端中的 gdb 本身。唯一可能(不应该)发生的问题是,您必须告诉您的调试器在调试时在哪里可以找到您想要跳入的库的源代码。源代码也应该在您的系统上(在 debian(和 ubuntu 之类的后代)上,通常是 *-dev 或来自源代码存储库的源代码本身)。

额外的 gdb 可以遍历 try-catch 的 catch block ,这在 visual studio 下是不可能的。在我看来,这是一个真正的代码调试糖果...... gdb 也可以调试用 clang 创建的可执行文件。

关于c++ - 在 Linux 上调试 C/C++ 运行时库并查看库代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19381961/

相关文章:

无法释放分配的一维和二维数组的内存

c - 如何远程登录到本地 HTTP 服务器?

php - Apache 安装和运行 php 文件

c++ - 删除定时器-队列定时器

C++ 链接引用与中间的局部变量

Java JNI C 程序适用于 Mingw32,但不适用于 Cygwin64

c - 在linux c中使用深度优先搜索遍历目录

python - Chrome 从终端成功打开,但我收到 webdriver 常见异常消息

c++ - Eclipse C++ 构建问题

c++ - Matlab 到 C++ 代码转换