2012-11-21 22 views
13

Có cách nào để xem chuỗi giải thích từ một ngoại lệ chưa được xử lý không? Tôi đang sử dụng Visual Studio 2012 Express và dường như không thể tìm thấy cách để xem nó.Tôi có thể xem thông báo what() từ một std unhandled :: exception trong Visual Studio 2012 như thế nào?

Khi tôi chạy đoạn mã sau:

#include <stdexcept> 

int main(int argc, char* argv[]) 
{ 
    throw std::runtime_error("warp core breach"); 
    return 0; 
} 

tất cả tôi nhận được trong cửa sổ đầu ra là thế này:

First-chance exception at 0x7652C41F in vstest.exe: Microsoft C++ exception: std::runtime_error at memory location 0x0015F6A4. 
Unhandled exception at at 0x7652C41F in vstest.exe: Microsoft C++ exception: std::runtime_error at memory location 0x0015F6A4. 

tôi dự kiến ​​sẽ có các "warp lõi vi phạm" Thông điệp được in có . Tôi có tất cả các tùy chọn trong Debugging-> Output Window-> General Output Settings được đặt thành On.

+0

Tại sao bạn không thể xem? – imreal

+0

@Nick Chắc chắn tôi có thể bắt được nó, nhưng tôi chỉ muốn biết làm thế nào tôi có thể nhìn thấy thông điệp trong trường hợp nó không bị bắt. Chắc chắn phải có một cách để làm như vậy khi gỡ lỗi? –

Trả lời

14

Bạn sẽ nhận được một cửa sổ khi ngoại lệ được ném bằng tùy chọn ngắt/tiếp tục/bỏ qua. Sao chép và dán địa chỉ hex hộp thoại này báo cáo, sau đó nhấp vào nút break. Bây giờ trong một cửa sổ xem, nhập một cái gì đó như: (std::runtime_error*)(0x002cfbc8) vào một ô trong cột đầu tiên.

watch window

+0

Tuyệt vời, cảm ơn bạn! –

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