Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 662
  • Last Modified:

Exception Line Numbers Riddle

I am attempting to debug a vb.net/ASP.NET application in VS2010.

When hitting F5 I get an exception on a seemingly innocuous line of code.  After playing around I've worked out that the exception is actually being thrown 5 lines before (and indeed looking at the stack trace this is confirmed).

Obviously this makes debugging pretty tricky - am I missing something obvious? I've tried to 'snip' all the evidence below!

 Screen shot showing line 425 throwing exception on bug in line 420
0
Ionican
Asked:
Ionican
1 Solution
 
BardobraveCommented:
Well... I think here your problem is pretty clear, you're using "field" array on your code without assigning it any value, this provokes the raise of the exception.

The reason why the exception is being misplaced is a mistery to me... maybe a bug on VS debugger?
0
 
shadow77Commented:
Your field array is null when you try to store elements within it.

You need to add
    field = New String(ArgCount - 1) {}
after line 416.

Line 425 is the first line with executable code after line 420, which may be why your exception occurs there.
0
 
IonicanAuthor Commented:
Yes thanks Bardo - I spotted that one eventually (coffee helped).

But the odd 'offset' does worry me (and I've had this issue before) - makes me question the integrity of my dev environment (and the subsequent copying over to the staging server).

Has anyone else seen this before?
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
Richard LeeSoftware EnthusiastCommented:
I have had this issue once or twice before. Very frustrating that I can say. There are two things I tried when attempting to solve the problem.

1. Turn Optimization off.
http://msdn.microsoft.com/en-us/library/xz7ttk5s(VS.80).aspx
http://stackoverflow.com/questions/1199204/how-can-i-disable-compiler-optimization-in-c

In the IDE, project properties -> build -> "optimize code"

2. Turn break on Thrown exceptions on.
http://stackoverflow.com/questions/737514/where-is-the-debug-exceptions-window

DaTribe
0
 
Richard LeeSoftware EnthusiastCommented:
BTW Select the THROWN checkboxes.

DaTribe
0
 
IonicanAuthor Commented:
Thanks DaTribe - that fixed it!  Not so lovely optimisations!
0
 
Richard LeeSoftware EnthusiastCommented:
If my suggestion fixed it them  how come I don't get the points.

DaTribe
0
 
IonicanAuthor Commented:
Hi,

Bit confused here (apologies I'm an EE newbie) - but here goes:  

I played with the optimisations settings and tried to recreate my original issue (the issue being that the debugger was flagging up the exception in the wrong line) and it seemed that the optimisations flag did indeed correct the problem.  I was not able to roll back my code to recreate the exact original problem but it seems highly likely that DaTribe's contribution enabled me to eliminate the unpredictable debugger behaviour I was observing and which was the subject of this question.

To be clear: the question was not with the buggy code - that's reasonably straightforward (but thanks anyway to Shadow and Bardo) - it was that the debugger was sending me elsewhere to resolve the issue, hence the title of the question.

Hope that helps - Many thanks

0
 
Richard LeeSoftware EnthusiastCommented:
Yes this was my understanding of the entire scenario, however the question still remains - why not close the question and award no points instead of accepting my solution and awarding full points?

DaTribe
0
 
IonicanAuthor Commented:
Yes this makes sense as the appropriate outcome.

Thank you
0
 
thermoduricModeratorCommented:
I am restarting the auto-close procedure on behalf of the question asker. After Moderator review, the new disposition seems to be more appropriate to the outcome of this question.

- thermoduric -
EE Community Support Moderator
http://www.experts-exchange.com/Q_26631209.html

0

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now