History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: BOO-801
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Cedric Vivier
Reporter: Cedric Vivier
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Boo

Debug symbols are emitted multiple times for a "for in" statement.

Created: 17/Feb/07 04:28 PM   Updated: 21/Feb/07 10:19 AM
Component/s: Emitter
Affects Version/s: 0.7.6
Fix Version/s: 0.7.7

Time Tracking:
Not Specified

File Attachments: 1. Text File multipledebugsymbols.patch (0.5 kb)



 Description  « Hide
Bug first reported by George Dernovoy on the mailing-list.

For the given source :

cedric@laptop:~/dev/workspace/boo-svn/sandbox$ cat debug.boo
for i in "any string":
debug i

You'll have to step over the "for in" expression multiple times to actually jump to debug i :

cedric@laptop:~/dev/workspace/boo-svn/sandbox$ mdb debug.exe
Mono Debugger
(mdb) run
Starting program: debug.exe
1 for i in "any string":
(mdb) n
1 for i in "any string":
(mdb) n
1 for i in "any string":
(mdb) n
2 debug i
(mdb) n
1 for i in "any string":



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Cedric Vivier - 17/Feb/07 05:44 PM
Patch who seems to fix this, but I'm not sure how can I write a testcase/regression test for this though.

Rodrigo B. de Oliveira - 18/Feb/07 05:09 AM
This code was there because of an old bug in mono's exception stack trace propagation. The NOPs we emit ensured mono would get the stack trace right. I think this was fixed in mono already but I'll check.

Rodrigo B. de Oliveira - 18/Feb/07 05:56 AM
Completely removed EmitNopDebugInfo. The debugging experience should be much better now.

Thanks!


Cedric Vivier - 18/Feb/07 06:02 AM
Sure it is better to have all those vilain nop removed
But there is still multiple symbols emitted with "for in" expression, as in the mdb session dump above :
one for the getEnumerator() step, one other for getcurrent and then movenext I suppose??

I believe we still have to remove the EmitDebugInfo from OnWhileStatement as in the initial patch.


Cedric Vivier - 21/Feb/07 10:19 AM
Fixed in rev. 2411.