关于x64/Win10中Shim机制的一次调试分析过程

有阵子给windbg写jscript插件,无意中在x64/Win10上发现一件事,执行notepad不从nt!PspProcessOpen()过,mspaint则过。跟bluerust说起这事,他瞎猜了一个说法,是不是因为mspaint有Shim机制介入,进而导致这种区别。为什么有这种区别,到了也没去深究,不是刚需。但他说的Shim机制,对于一向孤陋寡闻的我,有点意思。

kd调试的某些技术原理

作者: Tarik Soulami

内核态调试时设置断点,与用户态调试时一样,在指定地址写入0xCC(int3)。断点命
中时,OS暂停运行,调试器接手,在进入”break-in send/receive loop”之前,恢复
断点所在地址的原始字节。因此,你在kd提示符下,看不到断点处的0xCC。这里不讨
论硬件断点、内存(属性)断点之类的。

python

用GDB排查Python程序故障

标题: MISC系列(43)–用GDB排查Python程序故障

创建: 2015-09-21 16:40

更新:

某Team在用Python开发一些代码,涉及子进程以及设法消除僵尸进程的需求。实践中他们碰上Python程序非预期退出的现象。最初他们决定用GDB调试Python解释器,查看exit()的源头。我听了之后,觉得这个问题应该用别的调试思路。帮他们排查这次程序故障时,除去原始问题,还衍生了其他问题。