2008-11-19 40 views
9

Trong ứng dụng C++ của tôi (được phát triển với Visual Studio 2003) và Qt4, tôi muốn in dấu vết ngăn xếp từ một dòng mã cụ thể, hoặc vào đầu ra của bàn điều khiển hoặc vào một tệp.In dấu vết ngăn xếp trong C++ (MSVC)?

Điều gì sẽ mất? Qt có bất kỳ trợ giúp nào để thực hiện việc này không?

Trả lời

10

StackWalker bởi Jochen Kalmbach [MVP VC++] và có sẵn trên codeproject có lẽ là cách dễ nhất để thực hiện việc này. Nó kết thúc tất cả các chi tiết về giao dịch với API StackWalk64 cơ bản.

2

StackWalk64 trong thư viện dbghelp.dll nên làm những gì bạn đang tìm kiếm.

3

Nó không phải trong Qt API công cộng, nhưng nếu bạn nhìn vào

$ QTDIR/src/corelib/kernel/qcrashhandler. *

bạn sẽ nhìn thấy sự khởi đầu của một chéo nền tảng thực hiện chính xác điều này.

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