转自: http://www.spongeliu.com/linux/howgdbwork/ 还是面某M的时候,面试官问我:“用过gdb么?” 答:“用过,调了两年bug了”.“那好,给我解释下gdb是怎么工作的?或者说跟内核什么地方有关系?”. 是阿,gdb凭什么可以调试一个程序?凭什么能够接管一个程序的运行?我以前也想过这样的问题,但是后来居然忘记去查看了.我想到了我们的二进制翻译器,想到了intel的pin,Dynamo.这些都是将翻译后的代码放到codecache中去运行,然后接管整个程…