The Mask
The Mask

Reputation: 17457

it is possible to get the crash details of a application that triggers Microsoft Windows Error Reporting?

I have an application written in C#. This application is locking by windows, return something like: "The xxx application has stopped working".

Is it possible to get the reason for this crash? I tried using try{} catch{} throughout the application without success. It works on my computer, but not on my friend's computer. Both computers have same configuration:

UPDATE

Well, in the event log of computer of my friend I found some details of the crash:

Faulting application name: xxxx.exe, version: 1.0.0.0,time stamp:0x4eb5e63a
Fault Module Name:KERNELBASE.dll, version: 6.1.7600.16850, time stamp:0x4e21132b
Exception Code:0xe0434352
Identification of the process that failed: 0x26c
Start time of the faulting application: ... 
Faulting application path: ... \xxx.exe 
Path F module failures: C:\Windows\system32\KERNELBASE.dll
Report ID: xxxxx-yyyy-dddd-dddd-aaaaaa

UPDATE 2

Finally,I found the function that is causing the exception. handling the function with try {} catch (Exception Err) {} I found some details of exception:

Err.Message:The device is not ready
Err.Source: mscorlib

how can I fix it?

Upvotes: 0

Views: 2823

Answers (2)

Kate Gregory
Kate Gregory

Reputation: 18974

"Works on my machine" is a very common problem with a myriad of causes. Generally the reason is that something is different between the two machines. Some easy things to rule out:

  • is your friend's computer a development machine, with Visual Studio installed?
  • does your application rely on a particular path (for example, a D: drive), a database, a service, a COM component, or something else that an install package should be including?
  • has your friend configured UAC differently from you? Does one of you sign on as the account Administrator, while the other uses another account that is in the Administrators group?
  • did you test a debug version on your friend's machine? debug versions usually aren't redistributable
  • did you test version x of the exe and version y of some class library, forgetting that you made a change to one of them yesterday?
  • do you and your friend have different versions of IE, Office, or some other component that may be used by the app? Do you have different IE settings (eg proxies?)
  • are the two computers both completely caught up on updates and service packs?
  • is the application trying to access some hardware (microphone, web cam) that is not on your friend's machine or is importantly different between the two machines?

The literal answer to your question is yes, you can sign up for something called Windows Error Reporting and get the reports that the dialog says it is collecting. However I sincerely doubt that you want them. You should have all the information you need to find the error right where you are. Concentrate on what is different (even if you think it's irrelevant) between the two machines.

Upvotes: 3

Mark Hall
Mark Hall

Reputation: 54562

Most likely it is a missing dependency. Double check to make sure that your program is installing all of the Dll's that it needs. I have run into similar problems usually with an .ocx file not being properly registered or not present.

As far as your question goes try using the MDbg.exe file from the .Net Framework SDK or Visual Studio. Microsoft also has other debugging tools available.

Upvotes: 1

Related Questions