WinDBG中如何获取父线程?

发布于 2024-09-06 23:54:08 字数 661 浏览 4 评论 0原文

当我分析crush dump文件时,我经常遇到这样的错误:

0:025> kP
Child-SP          RetAddr           Call Site
00000000`05a4fc78 00000000`77548638 ntdll!DbgBreakPoint(void) [d:\w7rtm\minkernel\ntos\rtl\amd64\debugstb.asm @ 51]
00000000`05a4fc80 00000000`774b39cb ntdll!DbgUiRemoteBreakin(
   void * Context = 0x00000000`00000000)+0x38 [d:\w7rtm\minkernel\ntdll\dlluistb.c @ 310]
00000000`05a4fcb0 00000000`00000000 ntdll!RtlUserThreadStart(
   <function> * StartAddress = 0x00000000`00000000, 
   void * Argument = 0x00000000`00000000)+0x25 [d:\w7rtm\minkernel\ntos\rtl\rtlexec.c @ 3179]

似乎进程在创建线程时被crush了。所以,我想找到谁或哪个线程创建了当前线程。我怎样才能得到它?

When I analyzed a crush dump file, I often got such errors:

0:025> kP
Child-SP          RetAddr           Call Site
00000000`05a4fc78 00000000`77548638 ntdll!DbgBreakPoint(void) [d:\w7rtm\minkernel\ntos\rtl\amd64\debugstb.asm @ 51]
00000000`05a4fc80 00000000`774b39cb ntdll!DbgUiRemoteBreakin(
   void * Context = 0x00000000`00000000)+0x38 [d:\w7rtm\minkernel\ntdll\dlluistb.c @ 310]
00000000`05a4fcb0 00000000`00000000 ntdll!RtlUserThreadStart(
   <function> * StartAddress = 0x00000000`00000000, 
   void * Argument = 0x00000000`00000000)+0x25 [d:\w7rtm\minkernel\ntos\rtl\rtlexec.c @ 3179]

It seems that the process crushed when creating a thread. So, I want to find who or which thread created the current thread. How can I get it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橙幽之幻 2024-09-13 23:54:08

您可以使用 ~*k 查看进程中的其他线程,看看是否有任何有趣的事情。除此之外,转储中根本不存在此信息。

-斯科特

You can look at the other threads in the process with ~*k to see if there's anything interesting. Other than that, this info simply isn't there in the dump.

-scott

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文