<div dir="ltr"><div><div><div><div><div><div><div><div>Hi Detlev,<br><br></div>Yes, I had breakpoints set.  Anyway, I'm always starting the Eric4 debugger with the option "Don't stop at first line" switched off (that is, the debugger anyhow starts in step mode).  In the script I've given, it only takes a minimal time to reach the problematic area.  Just put an extra breakpoint at line 133 and then step into the code.<br>
<br></div>As said before, normally the input files contain a Python list, like the one below:<br><br>[{"id":168,"key":"org.droidtv.tvjar","name":"TvJar","scope":"PRJ","qualifier":"TRK","date":"2013-09-11T09:39:09+0200","lname":"TvJar","lang":"java","version":"1.0","description":"","msr":[{"key":"blocker_violations","val":0.0,"frmt_val":"0"},{"key":"critical_violations","val":19.0,"frmt_val":"19"},{"key":"major_violations","val":1253.0,"frmt_val":"1,253"}]}]<br>
<br></div>When analysing a file with such content, all is fine.<br><br></div>However, due to missing information from the process that generates the input files for the script (has nothing to do with this Python file!), I sometimes do get files with the following content:<br>
<br>device/tpvision/common/plf/storage ==> MISSING ANALYSIS!!! <==<br><br></div>And those files have to be treated differently.  That's why, when such file content is detected by the function ast.literal_eval() (line 137 in the Python code), it generates an exception.  But that's what I deliberatly want.   Since then, I know it's not a Python list and in that case, I generate an error message in my output report through the "use" or "abuse" (depends on how you look at it) of the "except"ion thrown.<br>
<br>And as said before, in a normal run (e.g. running the script from the command line, both Linux as well as Windows), it works fine.  Even when running in Eric4 without breakpoints (that is, start the script in the debugger and once it stops at the first line, hit F6), all works fine.<br>
<br></div>But the moment one breakpoint has been set (<i><b>wherever in the code, it doesn't matter</b></i>) <u>and the debugger has stopped at least once</u> before that famous line 137, I get the below mentioned error condition in the debugger.<br>
<br></div>Hope you have enough information now to reproduce and analyse the issue.  If not, don't hesitate to come back on it and ask for more information.<br><br>Best rgds,<br></div>--Geert<br><div><div><div><div><div>
<div><br><div><div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On 19 September 2013 18:38, Detlev Offenbach <span dir="ltr"><<a href="mailto:detlev@die-offenbachs.de" target="_blank">detlev@die-offenbachs.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>
<div style="font-family:'Liberation Sans';font-size:9.5pt;font-weight:400;font-style:normal">
<p style="margin:0px;text-indent:0px">Hello,</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">did you have any breakpoints set when this error shows up? Please think about any additional info, that could be relevant.</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">Just to let you know, your error report is one of the best I've seen, very informative already. I'll have a look at it on the weekend.</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">Detlev</p><div class="im">
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">On Thursday 19 September 2013, 09:03:42 Geert Vancompernolle wrote:</p>
<p style="margin:0px;text-indent:0px">> Hi</p>
<p style="margin:0px;text-indent:0px">> </p>
</div><p style="margin:0px;text-indent:0px">> I've created a Python script *that runs flawlessly when run from the</p>
<p style="margin:0px;text-indent:0px">> command line*.  However, when running it *in the debug mode* in Eric4, the</p><div><div class="h5">
<p style="margin:0px;text-indent:0px">> debugger seems to be kicked out.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> I'm running Eric4 4.5.14 on a Windows7 PC (I had the issue also with</p>
<p style="margin:0px;text-indent:0px">> previous versions of Eric4, but to be sure it was not related to missing an</p>
<p style="margin:0px;text-indent:0px">> update, I moved to the latest version of Eric4, currently available).</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> I've attached the source file of the script, together with a 7-zip file</p>
<p style="margin:0px;text-indent:0px">> that contains the input files that are needed.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> The problem happens at line 137 in the "sonarmetrics.py" file (command:</p>
<p style="margin:0px;text-indent:0px">> 'result = ast.literal_eval(filecontent)').  I'm "misusing" the try-except</p>
<p style="margin:0px;text-indent:0px">> mechanism to detect if the content of the file given contains a known</p>
<p style="margin:0px;text-indent:0px">> Python type (using the ast method "literal_eval") or a kind of "error</p>
<p style="margin:0px;text-indent:0px">> message".  Just to let you know...</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> If you want to run the script, two input parameters are needed:</p>
<p style="margin:0px;text-indent:0px">> - a path to the directory containing the input sources</p>
<p style="margin:0px;text-indent:0px">> - a path to the directory where the 3 output files should be written (1 txt</p>
<p style="margin:0px;text-indent:0px">> file and 2 csv files, used as Excel input)</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> I've also added screenshots from the Eric4 debugger at the moment the</p>
<p style="margin:0px;text-indent:0px">> problem arises.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> [image: Inline images 3]</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> [image: Inline images 4]</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> I've also added a screenshot of the different package versions I'm using</p>
<p style="margin:0px;text-indent:0px">> with Eric4.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> [image: Inline images 2]</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> I've also added the way I invoke the debugger (paths may differ, of course,</p>
<p style="margin:0px;text-indent:0px">> just to show that you need two input parameters).</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> [image: Inline images 5]</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> What could cause this behaviour?</p>
<p style="margin:0px;text-indent:0px">> </p>
</div></div><p style="margin:0px;text-indent:0px">> *PS: noteworthy to metion that, when you start the debugger with F5 (and</p><div class="im">
<p style="margin:0px;text-indent:0px">> stopping at the start of the Python script) and then press F6 (so, don't go</p>
</div><p style="margin:0px;text-indent:0px">> into step mode using F8), all is working find in the debugger too...*</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> Best rgds,</p>
<p style="margin:0px;text-indent:0px">> --Geert<br>-- </p>
<p style="margin:12px 0px 0px;text-indent:0px"><span style="font-size:11pt;font-weight:600">Detlev Offenbach</span></p>
<p style="margin:0px;text-indent:0px"><a href="mailto:detlev@die-offenbachs.de" target="_blank">detlev@die-offenbachs.de</a></p></div><br>_______________________________________________<br>
Eric mailing list<br>
<a href="mailto:Eric@riverbankcomputing.com">Eric@riverbankcomputing.com</a><br>
<a href="http://www.riverbankcomputing.com/mailman/listinfo/eric" target="_blank">http://www.riverbankcomputing.com/mailman/listinfo/eric</a><br>
<br></blockquote></div><br></div></div></div></div></div></div></div></div></div></div></div></div>