Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have an application built in WPF and VB.net. It works on several Windows XP computers that I've tested it on, however, my animator's computer doesn't seem to like it.

At first, the program would work up to a certain point, where the program would play a video. However, as she was missing the codec to play the video, it threw an exception. We installed the codec, and now the program silently fails all together, without so much as an error message or crash notification.

These are the prerequisites that are required. All of these are installed on her computer. Assume prereqs for these items are also installed.

  • .NET 4 Framework
  • SQL Server Compact Edition 2006
  • Windows Media Player v. 11
  • Theora DirectShow codec

Her computer is running Windows XP Home Edition SP3.

What is going on? How can we get this program working on her system?

share|improve this question
    
WPF is hard to debug and VB.Net is just bad karma. Seriously though, C# is a better supported language. –  Job Jun 11 '11 at 3:30
    
All the same, I've actually shifted to a Python platform...so this question now just serves as a help to anyone else who has the problem. –  JasonMc92 Jun 11 '11 at 4:03
add comment

4 Answers

One thing that will cause a silent crash is the StackOverflow exception. No warning, no ability to trap it. If its not this, then its possible an exception is being caught in the program and silently handled by closing the app (which would be daft, I know, but I've seen far worse)

If you've written it, bung a load of exception handling code in there and see if you can trap anything that is thrown. You should get an error report of some sort, or a DrWatson crash dump (turn on DrWatson by typing "drwtsn32 -i") which you could use for post-mortem debugging

share|improve this answer
    
Would it really be a stack overflow if it only occurs on this system, and no others? Also, would turning on Dr. Watson and then triggering the error catch it? My animator is in WI, and I'm in WA, so it makes it hard. –  JasonMc92 Apr 11 '11 at 22:57
add comment

Given that you have full access to the system I'd recommend installing Visual Studio on the machine and debugging it in situ. You can install the Express edition for this as it's fully compatible with the full version.

The next step assuming that this doesn't work or you can't install VS for some reason is to add logging diagnostics to your application. In the first instance this could simply be tracing the methods entered and left. As long as you flush the output buffer after every write you should be able to home in the code that failing.

Once you have a clearer idea of where the code is failing you can then analyse that for errors and add more detailed logging.

There are no short cuts for problems like these.

share|improve this answer
1  
You can also use the command line debugger which is much smaller. –  rerun Jun 11 '11 at 22:56
add comment

Usually when I have "silent" errors it's due to thread-related exceptions, if you go to the debug menu in visual studio, choose exceptions and check "thrown" common language runtime exceptions they'll usually show up

share|improve this answer
add comment

Since you haven't mentioned it make sure you have registered handlers for the following exceptions:

Application.DispatcherUnhandledException
AppDomain.UnhandledException

If one of these is triggered you might be able to determine the cause/source from the stacktrace.

You might also want to look at this SO answer http://stackoverflow.com/questions/1472498/wpf-global-exception-handler/1472562#1472562.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.