Tôi nhận được một lỗi lạ trên một chương trình SharpDX mà tôi đã tạo.chương trình đã thoát với mã -1073610751 (0xc0020001)
Chương trình có chứa một biểu mẫu MainForm
, được kế thừa từ SharpDX.Windows.RenderForm
(Tôi đang thực hiện Direct3D 9). Tôi có một số logic mà giết chết chương trình bằng cách gọi MainForm.Close()
, và nó hoạt động hoàn hảo.
Tuy nhiên, khi tôi đóng biểu mẫu bằng nút X hoặc nhấp đúp vào góc trên cùng bên trái của màn hình, chương trình sẽ kết thúc bằng mã -1073610751 (0xc0020001).
Đây là một sự khó chịu tương đối nhỏ, bởi vì nó chỉ xảy ra khi chương trình kết thúc, do đó, nó không thực sự quan trọng nếu nó thoát với một lỗi, bởi vì nó thực sự là kết thúc.
Tuy nhiên, lỗi này không xảy ra khi tôi đặt điểm ngắt tại dòng cuối cùng của Main()
. Nếu tôi làm như vậy, và sau đó đóng cửa sổ như tôi đã giải thích, điểm ngắt được nhấn và tiếp tục kết thúc chương trình bằng mã số 0.
Ngoài SharpDX và một DLL C thuần túy tôi đang gọi đến một quá trình một số dữ liệu , Tôi không làm mã hỗn hợp, hoặc bất kỳ thứ kỳ lạ nào khác.
Tôi đã xem xét xung quanh, nhưng mã này dường như có liên quan đến các ràng buộc chuỗi? những người khác dường như có vấn đề này khi làm công cụ hỗn hợp C++/CLI kỳ lạ, nhưng tôi không làm bất cứ điều gì như thế.
Bất kỳ ý tưởng nào? ít nhất là làm thế nào để có được thông tin ngắn gọn hơn về mã lỗi này?
Kiểm tra liên kết này ... http://blogs.msdn.com/b/cbrumme/archive/2003/04/15/51318.aspx - có vẻ như có khả năng từ mô tả của bạn rằng một số thông báo xử lý (hoặc các cuộc gọi lại khác từ COM cho chương trình của bạn) được thiết lập để gọi lại cho bạn - hoặc các phương thức được quản lý của SharpDX và không được dọn dẹp (đúng lúc). Nếu những cuộc gọi lại sau đó xảy ra sau khi thời gian chạy được quản lý tắt, bạn sẽ nhận được lỗi đó. Nếu lý thuyết đó giữ, đặt một điểm ngắt trên dòng cuối cùng * xuất hiện * để cho phép thời gian để làm sạch. – JimmiTh
Có lẽ bạn nên gỡ lỗi mã cũng hiển thị một số mã thực sự sẽ giúp nếu đây là một bên thứ 3.DLL có lẽ bạn cần phải 'Vứt bỏ' các đối tượng được tạo thủ công. Những gì bạn đã cố gắng như vậy đến nay ..? – MethodMan
Có thể nào đây? http://connect.microsoft.com/VisualStudio/feedback/details/336844/static-variable-in-native-method-causes-exception-c0020001-during-process-exit –