<分区>
在 Visual Studio 2012 中编写 C++ 时,我可以介入 malloc() 等函数的实际 Microsoft 实现。
在 Linux 上使用什么(调试器?)最好,我可以介入 Linux/GCC 的 malloc() 等函数实现吗?做起来是不是比较简单?在 Linux 上编写 C++ 时,我想了解 Linux 的“幕后”实际发生了什么。
<分区>
在 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/