Solved

Breakpoint not firing

Posted on 2010-11-16
14
769 Views
Last Modified: 2013-11-10
Hi,

I am having great difficulty with the following debugging issue.

I have a For Each Loop container that has a script task within it.
 
In the script task I have set a break point.

Every time I run the package the break point is triggered ONCE then when I hit Continue to carry on the break point is not hit again, it just goes through the For Each and Script task completely ignoring it.

The Breakpoint in the Script task will always be hit and is not conditional.  This is most frustrating as I can't debug my code.

Thanks

Mike

0
Comment
Question by:hydev
  • 6
  • 5
  • 3
14 Comments
 
LVL 22

Expert Comment

by:8080_Diver
Comment Utility
What is the text of the script task?  E.g. is the break point, perhaps, on a statement that is in one half of an IF statement and the rest of the data is not hitting that condition?
0
 
LVL 30

Expert Comment

by:Reza Rad
Comment Utility
maybe your foreach loops only one time. or maybe you put break point in the position that not happen all times ( as 8080_Diver noted )
could  you tell us more details about your package or put screenshots of your schema and script here?
0
 

Author Comment

by:hydev
Comment Utility
Okay here are some screen shots:

container.jpg
code.jpg
0
 
LVL 22

Expert Comment

by:8080_Diver
Comment Utility
Try splitting the line with the break point into two lines: one declaring the variable and the next setting the value.  Then put the break point on the second line (i.e. the one setting the value).

0
 

Author Comment

by:hydev
Comment Utility
Same result I'm afraid.
0
 
LVL 22

Expert Comment

by:8080_Diver
Comment Utility
Okay, put a break point on the Script Task itself.  Then set a watch for whatever is controlling the For Each Loop and see what is going on with that variable.

Also, what are the various "var_R_" variables used for in the reas of the script task's script?  Can you put a breakpoint on one of those lines and have it fire every time the task is executed?
0
 

Author Comment

by:hydev
Comment Utility
I'm relatively new to SSIS (but not to programming) what do you mean put a watch on the Script Task itself?

The various "var_R" are just some variables I am passing for processing from the For Each loop.  I have tried moving the watch points around and it does the same.

mike
0
Get up to 2TB FREE CLOUD per backup license!

An exclusive Black Friday offer just for Expert Exchange audience! Buy any of our top-rated backup solutions & get up to 2TB free cloud per system! Perform local & cloud backup in the same step, and restore instantly—anytime, anywhere. Grab this deal now before it disappears!

 
LVL 22

Expert Comment

by:8080_Diver
Comment Utility
what do you mean put a watch on the Script Task itself?

Actually what I wrote was:
Okay, put a break point on the Script Task itself.  Then set a watch for whatever is controlling the For Each Loop and see what is going on with that variable.

If the "var_R" variables are not used anywhere except within the Script Task and are simply set within that task, then that is probably why the break point is not being hit.  Those "sets" are the equivalent of NO-OP statements if that is all that is in the Script Task.  

Try putting that break point in and adding the watch.
0
 
LVL 30

Expert Comment

by:Reza Rad
Comment Utility
how many times your foreach loop will iterates? maybe this only iterate 1 time!
0
 

Author Comment

by:hydev
Comment Utility
I apologise 8080_Diver if I misread what you had put.  Your explanation helps but I think I am missing something very fundamental.  

The var_R variables are used within the script as it's easier to reference a simple variable name instead of DTS.Variables["variable_name"].Value  Hence that's why I have put it - it just makes my code easier to read.

So, I edit the script and put a watch a break condition on a line.  
Then, I right click the Script task and select "Edit Break Points" this give me a list of many different options.  One of them is already marked with a tick.  Which of these ones should I tick?

Out of interest I ticked the first one "Break when the container receives the OnPreExecute event".  When I run the script it stops but, F8, F10, F11 nothing moves on SSIS just hangs.




0
 

Author Comment

by:hydev
Comment Utility
I have been reminded that this question is abandoned - it's not, just that there is no solution and things have moved on.
0
 
LVL 30

Expert Comment

by:Reza Rad
Comment Utility
upload your package here, and we can help you better
0
 
LVL 22

Accepted Solution

by:
8080_Diver earned 500 total points
Comment Utility
hydev,

So, I edit the script and put a watch a break condition on a line.  
Then, I right click the Script task and select "Edit Break Points" this give me a list of many different options


Try it one more time (after removing the breakpoints that currently exist), only this time put a break point on each of the two lines (i.e. both of the lines after splitting the one you had a break point on before); however, don't edit the break points . . . just leave the default settings.  Then put a break point on the next line after those two, again leaving the default settings.

Now, when you execute the package and it stops the first time, set Watches for the various variables and look at them to see what values they have.  Then click the little green triangle to run to the next break point.  Now, look at the watched variables again to see if a) they have changed and b) whether their value might cause the script task to not be executed again.  Repeat the Run  and analyze steps, carefully noting the values of the variables and what actions are occurring.
0
 

Author Comment

by:hydev
Comment Utility
Thanks I will try that :-)
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.
Using examples as well as descriptions, and references to Books Online, show the documentation available for datatypes, explain the available data types and show how data can be passed into and out of variables.

762 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

6 Experts available now in Live!

Get 1:1 Help Now