Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: RE: RE: Debugging: reporting line number of loop or do-file causing error


From   "Nick Cox" <[email protected]>
To   <[email protected]>
Subject   st: RE: RE: Debugging: reporting line number of loop or do-file causing error
Date   Thu, 29 Jul 2010 13:05:34 +0100

For "traces" here read "logs". 

Nick 
[email protected] 


-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Nick Cox
Sent: 29 July 2010 12:32
To: [email protected]
Subject: st: RE: Debugging: reporting line number of loop or do-file causing error

This area is the subject of intermittent discussion, for example at the recent Stata Conference in Boston. What you report is from one point of view a feature, as reporting step-by-step progress through a loop of hundreds (thousands (...)) of steps would bloat traces mightily and would surely be a matter for frequent complaint. But equally many user-programmers would echo your experience. 

For the moment, adding your own debugging lines designed to catch what is most problematic is I believe the only game in town. Printing out something important or sensitive is however likely to be more informative than quite what you have here, except that I don't know the context. 

Nick 
[email protected] 

Aleksander Rutkowski

Is there any convenient way to make Stata report (together with an
error message) the line number of a loop or a line number of a do-file
which is causing an error?  In general, I think this is an important
feature needed for efficient debugging.

When loops are executed, the commands are not reported in the results
window, so it is difficult to quickly identify which command causes an
error. So far, I used the following solution, but it is not very
convenient:

local i 0
forval j = 1/100 {
   local ++i
   di "Now executing line `i'..."
   ...some command here...
   local ++i
   di "Now executing line `i'..."
   ...some command here...
   ...etc...
}


*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index