Tôi đang dựa vào Windows Error Reporting để tạo các bãi chứa chế độ người dùng đầy đủ cho một ứng dụng lớn, đa luồng. Tôi biết rằng khi tôi bắt đầu sử dụng nó (đầu năm 2012) các bãi chứa tất cả các bộ nhớ ứng dụng, và ngăn xếp đầy đủ cho tất cả các chủ đề được chính xác cho thời gian ứng dụng bị rơi (ném ngoại lệ unhandled, vv). Nhưng tại một số điểm chưa biết trong năm qua, các bãi đổ vỡ do WER tạo ra đã thay đổi. Họ vẫn chứa tất cả bộ nhớ, nhưng chỉ hiển thị một thread, và chồng dường như là từ sau quá trình này đã được tắt:Khi nào thì Windows Error Reporting tạo tệp kết xuất? Nó có thể cấu hình được không? Điều này đã thay đổi trong Windows 7 chưa?
[email protected]() + 0x14 bytes
[email protected]() + 0x141 bytes
[email protected]() + 0x74 bytes
[email protected]() + 0x18928 bytes
Đây là một không được quản lý (unmanagable?) 32-bit ứng dụng C++ biên soạn với VS2010 SP1, chạy trên Win7 SP1 64 bit (và được cập nhật liên tục). Có ai biết về bất kỳ bản cập nhật Windows nào đã thay đổi hành vi WER trong năm qua không? Có cấu hình nào khác ngoài 'HKLM \ SOFTWARE \ Microsoft \ Windows \ Windows Error Reporting \ LocalDumps \ AppName.exe' không?
Ngoài ra, việc hủy ứng dụng bằng cách gọi 'RaiseFailFastException' vẫn dẫn đến kết xuất tốt với ngăn xếp hợp lệ cho tất cả chuỗi.
Không có gì tôi nghe thấy. Lời giải thích đơn giản là ứng dụng của bạn chỉ bị lỗi vì một lý do khác. –
Không, tôi rõ ràng đang ném một ngoại lệ để kiểm tra việc tạo kết xuất, và tôi đang thiếu các ngăn xếp trên cả phiên bản mới nhất của ứng dụng và phiên bản từ một năm trước mà ban đầu đã làm việc. Cảm ơn mặc dù. –