Solved

Exception Line Numbers Riddle

Posted on 2010-11-21
16
652 Views
Last Modified: 2012-05-10
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
Comment
Question by:Ionican
16 Comments
 
LVL 19

Expert Comment

by:Bardobrave
Comment Utility
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
 
LVL 9

Expert Comment

by:shadow77
Comment Utility
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
 

Author Comment

by:Ionican
Comment Utility
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
 
LVL 18

Accepted Solution

by:
Richard Lee earned 250 total points
Comment Utility
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
 
LVL 18

Expert Comment

by:Richard Lee
Comment Utility
BTW Select the THROWN checkboxes.

DaTribe
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

Author Comment

by:Ionican
Comment Utility
Thanks DaTribe - that fixed it!  Not so lovely optimisations!
0
 
LVL 18

Expert Comment

by:Richard Lee
Comment Utility
If my suggestion fixed it them  how come I don't get the points.

DaTribe
0
 

Author Comment

by:Ionican
Comment Utility
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
 
LVL 18

Expert Comment

by:Richard Lee
Comment Utility
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
 

Author Comment

by:Ionican
Comment Utility
Yes this makes sense as the appropriate outcome.

Thank you
0
 

Expert Comment

by:thermoduric
Comment Utility
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

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now