有没有一种简单的方法可以设置我正在调试的应用程序的亲和力,而无需将 gdb 锁定到同一核心?我问的原因是应用程序以实时优先级运行,并且需要在单核上运行。目前我使用这个命令行
taskset -c 3 gdbserver :1234 ./app.out
但应用程序停止响应并冻结 gdb 服务器,使得调试无法进行。我怀疑应用程序的实时优先级会阻止 gdb 执行。如果我启动应用程序,然后在没有亲和力设置的情况下启动 gdb,那么我可以附加和调试应用程序,而不会冻结 gdb。
有没有一种简单的方法来启动 gdb 和具有不同亲和力的应用程序?或者最好是:是否有 gdb 命令来设置子进程的亲和力?
我找到了一个解决方案:使用 --wrapper 参数。
http://sourceware.org/gdb/onlinedocs/gdb/Server.html http://sourceware.org/gdb/onlinedocs/gdb/Server.html
gdbserver --wrapper taskset -c 3 -- :1234 ./app.out
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)