如果将gdb附加到进程,是否会对性能造成影响?我没有设置任何断点,我只是在等待一个segfault。
感谢
如果我将gdb附加到进程,是否会对性能造成影响?
是。
当附加调试器时,有几个方面会减慢速度。一种是线程创建/销毁——GDB需要跟踪线程,pthread库有GDB设置的钩子。
此外,GDB总是设置一些内部断点。其中一个在_dl_debug_state()
上,因此dlopen()
和dlclose()
也变慢。
最后,GDB会收到内核关于程序接收到的任何信号的通知,因此任何处理大量信号的应用程序都会运行得更慢。