gpt4 book ai didi

用于记录每一行代码的 C++ 宏

转载 作者:IT老高 更新时间:2023-10-28 22:20:30 25 4
gpt4 key购买 nike

在我最近与经理的一次讨论中,他提到他的一位前客户使用 C++ 宏来记录有关每一行代码的信息。他们所要做的就是在开始运行之前启用一个环境变量。 (当然,环境变量是在测试台中单独启用的。

日志也提到了使用的变量及其对应的值。例如,对于该行:

a = a + b;

日志会这样写:

"a = a + b; (a = 5 + 3)"

就我个人而言,我不确定这是否可能,但他非常确定这已经存在,尽管他不记得代码的细节。

所以,这是一个(显而易见的)问题:这可能吗?你能提供这个的代码吗?

最佳答案

我不知道是否每个行/变量都可以这样扩展,但可以记录函数调用。我已经使用 gcc 的 -finstrument-functions 选项记录了所有函数调用。它会调用:

  void __cyg_profile_func_enter (void *this_fn, void *call_site);

   void __cyg_profile_func_exit  (void *this_fn, void *call_site);

函数进入和退出。

The docs explain how to use it.我不知道其他编译器是否提供类似的东西。

关于用于记录每一行代码的 C++ 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7468576/

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