In the event of an exception, when does the debugger receive a second chance to handle it?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "If the application fails to handle the exception". Khi chương trình đang bị gỡ lỗi phát sinh ngoại lệ, Windows báo cho debugger lần đầu (first-chance exception) trước khi chương trình được xử lý; nếu debugger cho qua, ngoại lệ được chuyển cho các bộ xử lý SEH hay VEH của ứng dụng. Chỉ khi không bộ xử lý nào của ứng dụng nhận nó, hệ thống mới báo lại cho debugger lần hai (second-chance exception), và lúc này chương trình sẽ bị kết thúc nếu debugger cũng không xử lý. Bác: "Always before the application" mô tả cơ hội lần đầu, không phải lần hai. "Only if the program crashes" đảo thứ tự nhân quả: cơ hội lần hai đến ngay trước khi chương trình sập, chính vì ứng dụng không xử lý được, chứ không đến sau khi đã sập. "Never" sai vì cơ chế báo hai lần là đặc trưng của Windows debugging API; mã độc còn lợi dụng nó để chống gỡ lỗi bằng cách cố ý gây ngoại lệ.

Cùng phần 6

Xuất hiện trong 1 bộ đề