gpt4 book ai didi

c++ - 放置由GDB执行的代码

转载 作者:行者123 更新时间:2023-11-28 00:57:00 25 4
gpt4 key购买 nike

我有一个小问题。是否可以在 C/C++ 中放置一些与 GDB 交互更多的代码?

假设我有一个类似的函数

void gdb_print(const char*);

这将在执行时在 gdb 中打印信息!如果不可能,那就太棒了。跟踪一些信息会很简单,而且在某种程度上更快!

我需要这样的东西,因为我们正在编写一些插件,来自 cout 或 cerr 的信息根本不会进入控制台。所以这将是离散的。此外,可以添加一些内容,例如:

#ifdef __DEBUG__
#define debug_msg(x) gdb_print(x)
#else
#define debug_msg(x)
#endif

如果不存在,请告诉我您对此的看法!

最佳答案

I need something like this, because we're writing some plugins, and info from cout or cerr are not going to the console at all.

您可以随时写入控制台:

FILE *console = fopen("/dev/tty", "w");
if (console != NULL) fprintf(console, "Your debug message\n");

我不知道有什么方法可以专门写入运行 GDB 的终端(很可能是调用程序本身的不同终端)。

关于c++ - 放置由GDB执行的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10556279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com