VB.NET app crashes without warning

I have a VB.NET application that I am always building and improving. A month or two ago it suddenly started crashing without warning in debug mode rather than breaking in code where the warning occurred. I cannot figure out what started it or how to stop it. I don't even know what additional information would help anyone to answer the question except to say that it's a VB.NET Windows forms application running in VS2008 SP3. Any and all assistance is greatly appreciated!

I usually do check the error message in the installed version and just walk through the code until the program vanishes from the screen and then start over with that line as the breakpoint and try to figure it out. It would be nice if it dropped at that line and gave me the error.

I use error handling and that's not enough to save me. It still crashes. I don't use logging because I am new enough that i don't know what I would log and when. It seems like once it's crashed you can't log anything then...and I don't know what I would want to track up to that point versus what would just bloat my database. Is there an article you would recommend on this topic?

Well, I did that and it told me that it had an overflow error when returning data from Oracle Financials. I am simply returning pay voucher data with the given SSN, start date, and end date. It works 99.9% of the time.

I read online that it can be a rounding issue, but there's nothing to round in this query; I am providing a text string and two dates. I also read that Microsoft stopped supporting the OracleClient for .NET so I switched to the provider released by Oracle. In debug mode it fails when the very first connection to Oracle is attempted:

Dim conOraclePROD As New OracleConnection(My.Settings.OraclePROD)

I am using:

Imports Oracle.DataAccess.Client (v2.112.2.0)

So obviously I have not published an updated version because the software will fail. But, without publishing the new version (and making the software for fail for all of my users) I cannot get the error message and have no idea why this isn't working. That's why I need VS2008 to drop in debug mode and give me the error message.

nepaluz, thanks so much! I would have never known to do that. I ran it that way and it says that 'Unicode' is an invalid connection string attribute. Now I know my connection string is incompatible with Oracle's .NET provider. THANKS! Now, do you know how to get the debugger to activate again instead of the software just crashing?

For your information, the Oracle .NET provider is marked as obsolete in Visual Studio 2010. That means that it will be dropped in a not so far future. Microsoft suggest switching to the Oracle Data Provider (http://www.oracle.com/technetwork/topics/dotnet/index-085163.html) as soon as you can in order to insure that your application will still work in future versions of the framework.

I do not use Oracle myself, but was told by some of my Oracle students that the conversion from the Microsoft provider to the Oracle provider is not a big job since they are both built on the same base classes.

James, yeah, I mentioned above that I just switched and that was causing my app to not load at all but I discovered that it was a problem in the connection string. You're right in that it was not a big job. Very easy, really. I just wish it were as easy to get VS2008 back to halting in the code and providing hte message at debug time :(

Nepaluz, VS2008 still does not break in debug mode -- it just silently crashes. That was the reason for posting here. I am trying to find out why and get it to halt at the code that is causing the error and give the error message.

In your instance using Oracle Data Provider, VS IDE debugger will probably not break because the error occurs with the Oracle Data Provider (and its NOT managed code?). I suppose if you can include the code for Oracle Data Provider, then thedebugger would break inside that code. Having said that, have you tried flagging the exceptions as suggested above? If that fails, it may be the case that you can not handle errors originating in the Oracle Data Provider.