GCC:在每条指令后强制调用函数(用于多线程测试)?

发布于 2024-08-11 09:32:13 字数 98 浏览 5 评论 0原文

我正在尝试测试程序中对线程相当敏感的区域,并且想知道是否有一种方法可以强制 gcc 在发出的每条指令之后插入一个调用,以便我可以手动屈服于不同的线程?

谢谢, 罗伯特

I'm trying to test a rather threading-sensitive area in my program and was wondering if there's a way to force gcc to insert a call after every instruction it emits so that I can manually yield to a different thread?

Thanks,
Robert

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不语却知心 2024-08-18 09:32:13

不,GCC 没有这样的选项。

不过,您也许可以编写一个脚本来完成这项工作。您可以使用 -S 选项将代码编译为汇编程序。编译器生成的汇编程序相对容易解析。

不过,不要忘记将标志和所有寄存器保存在调试代码中。

No, GCC does not has such an option.

However, you may be able hack together a script that does that job. You can compile your code to assembler using the -S option. Compiler generated assembler is relative easy to parse.

Don't forget to save the flags and all registers inside your debugging code though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文