1
A
回答
4
.process
也適用於內核轉儲。首先,你可以使用
!process 0 0 myprocess.exe
找到你的過程,然後切換到使用
.process <address>
該過程,其中<地址>是後過程十六進制數。
請注意,您仍在進行內核調試,並且您只有該進程的物理內存可用(又名工作集)。大多數虛擬地址空間可能會交換到磁盤,您無法像在用戶模式下那樣分析該進程(特別是對於需要完整.NET堆的.NET程序)。
7
作爲Thomas的迴應的後續,您可以使用.process/p/r。這將設置您的用戶模式上下文並重新加載用戶模式符號。這將使你在這個新的進程上下文中的後續線程命令能夠顯示堆棧的用戶模式側。如果使用.thread/p/r知道目標線程,則可以跳過進程導航。
3
我有一個談論解決此問題,並做到在現場和崩潰轉儲調試方案的最佳途徑的文章:
1
3
查找的ProcessID
!process 0 0 process.exe
使用的ProcessID找到線程ID
!process <ProcessID>
切換到線程
.thread /p /r <ThreadID>
相關問題
- 1. 轉儲內核模塊堆棧
- 2. 從FreeBSD的內核核心轉儲中提取用戶空間線程堆棧
- 3. 內核堆棧與用戶模式應用程序堆棧
- 4. 在Linux核心轉儲中僅轉儲堆棧跟蹤
- 5. Linux內核如何在用戶模式和內核模式堆棧之間切換?
- 6. 用戶進程的內核堆棧| Linux內核
- 7. ptrace會中斷CPU上下文,用戶空間堆棧還是內核堆棧?
- 8. 如何充分利用堆棧跟蹤(從內核或核心轉儲)?
- 9. 如何在內核模塊中生成用戶堆棧跟蹤
- 10. 如何在窗口中創建內核和用戶堆棧
- 11. UWSGI堆棧轉儲
- 12. 在堆棧內存中存儲引用
- 13. 堆棧轉儲使用alloc
- 14. Linux內核中的堆棧內存
- 15. 如何添加堆棧跟蹤到核心轉儲
- 16. 從堆棧轉換堆棧arrayList
- 17. 從後綴堆棧轉換到中綴
- 18. 使用getcontext/setcontext切換堆棧/向下堆棧
- 19. Linux內核中的TCP/IP堆棧
- 20. 「***堆棧粉碎檢測***:./a.out終止中止(核心轉儲)」 - 陣列內插
- 21. Linux核心轉儲vs堆轉儲?
- 22. 內核/用戶堆棧,這是什麼意思?
- 23. 用戶線程(OS Windows)的內核模式堆棧是什麼?
- 24. 堆棧和堆棧內存存儲在C++
- 25. GDB核心轉儲有損壞的堆棧,顯示「堆棧幀無法訪問地址0x12處的內存」
- 26. 存儲在堆棧或堆
- 27. C結構錯誤:檢測到堆棧粉碎,中止(核心轉儲)
- 28. 使用ptrace生成堆棧轉儲
- 29. 分割錯誤(核心轉儲)問題,堆棧
- 30. 從核心轉儲獲取堆棧跟蹤