2011-01-27 20 views
9

Làm thế nào để đổ hoặc tìm kiếm trong ngăn xếp cuộc gọi của tất cả các chủ đề trong Visual Studio? Chúng tôi có một quá trình máy chủ để gỡ lỗi và nó có hàng trăm chủ đề đang chạy, vì vậy sẽ khó để kiểm tra thủ công từng luồng.Làm thế nào để đổ hoặc tìm kiếm trong ngăn xếp cuộc gọi của tất cả các chủ đề trong Visual Studio

Tôi biết "áp dụng chuỗi" trong gdb có thể thực hiện loại điều này. Vì vậy, tôi đã tự hỏi là có bất cứ điều gì tương tự có sẵn trong trình gỡ lỗi của studio trực quan.

Ngoài ra tôi đã sử dụng studio hình ảnh 2005, vì vậy hãy đưa ra giải pháp cho VS 2005 (tìm kiếm trong tất cả ngăn xếp cuộc gọi được cung cấp trong VS 2010 ...).

Trả lời

2

Sau đó tôi tìm thấy câu trả lời bằng cách sử dụng WinDbg,

Đầu tiên tiết kiệm minidump trong VS phiên debug, nói, myapp.dmp

Sau đó, sử dụng lệnh sau để đổ tất cả callstack để out.txt

cdb -zc: \ myapp.dmp -logo out.txt -lines -c "~ * kb; q" -yc: \ symbols

14

Tôi vừa gặp sự cố tương tự, cũng trong VS2005. Tôi tìm thấy một giải pháp đơn giản hơn: Trong khi gỡ lỗi mở cửa sổ lệnh của VS và sử dụng lệnh: Debug.ListCallStack/AllThreads

Tôi thấy điều này trên: http://blogs.msdn.com/b/greggm/archive/2005/08/02/446899.aspx

+0

Tốt, nhưng được cảnh báo nó chỉ dường như in ra các chủ đề có ID được quản lý. Nó không bao gồm các chuỗi thuần túy thuần túy. – Weeble

+0

Hmmm. Tôi nghĩ rằng tôi sai ở đó, nhưng tôi không hiểu tại sao nó không in ra tất cả các chủ đề của tôi lần đầu tiên ... – Weeble

+1

Nếu cửa sổ lệnh của bạn biến mất trên bạn, bạn có thể tìm thấy nó ở đây: 'Xem -> Windows khác -> Command Window' –

Các vấn đề liên quan