OS X:在不关闭进程的情况下生成核心转储?
我知道如何在进程崩溃时在 OS X 上生成核心转储,但我真正需要做的是附加到进程,生成核心转储,然后恢复该进程(而不杀死它)。
很久以前(也许一年半前)我有 C 代码可以做到这一点......它使用 OS X 内核库连接到一个进程,读取其所有线程状态和内存,并将其写入磁盘上的 Mach-O 文件。这非常有效(这正是我正在寻找的),但现在我似乎无法找到适合我一生的代码。我似乎记得代码与 OS X 系统内部原理书有些关系,但这只是一个模糊的回忆。
有谁知道我正在谈论的代码并可以指出我吗?如果没有,有人知道最好用一些示例代码来做到这一点的好方法吗?
编辑:这是答案。
信息:http://osxbook.com/book/bonus/chapter8/core/
可以为您完成此操作的程序: http://osxbook .com/book/bonus/chapter8/core/download/gcore-1.3.tar.gz
I know how to generate a core dump on OS X when a process crashes, but what I really need to do is attach to a process, generate a core dump, then resume that process (without killing it).
A long time ago (maybe a year and a half ago) I had C code that would do this... It used the OS X kernel libraries to connect to a process, read all of its thread states and memory, and write that into a Mach-O file on disk. This worked great (and it's exactly what I'm looking for), but now I can't seem to find that code for the life of me. I seem to recall that code was related somewhat to the OS X system internals book, but that's just a vague recollection.
Does anyone know the code I'm talking about and could point me at it? If not does anyone know a good way of doing this preferably with some example code?
Edit: Here is the answer.
Information: http://osxbook.com/book/bonus/chapter8/core/
Program that will do it for you: http://osxbook.com/book/bonus/chapter8/core/download/gcore-1.3.tar.gz
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信您正在寻找这个信息
具体来说:
I believe you are looking for this information
Specifically: