Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PyV8 debugger not properly handling break events #89

Open
GoogleCodeExporter opened this issue May 2, 2015 · 6 comments
Open

PyV8 debugger not properly handling break events #89

GoogleCodeExporter opened this issue May 2, 2015 · 6 comments

Comments

@GoogleCodeExporter
Copy link


While playing with PyV8 debugger I identified an issue. As you can easily 
realize from the attached test code, the command line argument is used to 
enable/disable the Debugger onMessage method. If the code is executed with 
onMessage method disabled, nothing happens after the BeforeCompile/AfterCompile 
events. This should be a bug because a break event is generated but not handled 
by the Debugger class methods.


buffer@alnitak ~ $ python DebuggerTest.py 0
BeforeCompile event: 
{"seq":0,"type":"event","event":"beforeCompile","success":true,"body":{"script":

{"handle":1,"type":"script","id":17,"lineOffset":0,"columnOffset":0,"lineCount":
14,"sourceStart":"\nfunction my_func(t)\n{\n\tvar s = \"foo\";\n\tvar i = 
0;\n\n\tfor (i = 0; i < 3; i++) 
{\n\t","sourceLength":120,"scriptType":2,"compilationType":0,"context":{"ref":0}
,"text":" (lines: 
14)"}},"refs":[{"handle":0,"type":"context","text":"#<ContextMirror>"}],"running
":true}
AfterCompile event: 
{"seq":2,"type":"event","event":"afterCompile","success":true,"body":{"script":{
"handle":1,"type":"script","id":17,"lineOffset":0,"columnOffset":0,"lineCount":1
4,"sourceStart":"\nfunction my_func(t)\n{\n\tvar s = \"foo\";\n\tvar i = 
0;\n\n\tfor (i = 0; i < 3; i++) 
{\n\t","sourceLength":120,"scriptType":2,"compilationType":0,"context":{"ref":0}
,"text":" (lines: 
14)"}},"refs":[{"handle":0,"type":"context","text":"#<ContextMirror>"}],"running
":true}
[hanging here]


Taking a look at what happens when the onMessage is enabled, we can see that 
the break event is properly generated so it seems not to be handled as stated 
before.


buffer@alnitak ~ $ python DebuggerTest.py 1
BeforeCompile event: 
{"seq":0,"type":"event","event":"beforeCompile","success":true,"body":{"script":
{"handle":1,"type":"script","id":17,"lineOffset":0,"columnOffset":0,"lineCount":
14,"sourceStart":"\nfunction my_func(t)\n{\n\tvar s = \"foo\";\n\tvar i = 
0;\n\n\tfor (i = 0; i < 3; i++) 
{\n\t","sourceLength":120,"scriptType":2,"compilationType":0,"context":{"ref":0}
,"text":" (lines: 
14)"}},"refs":[{"handle":0,"type":"context","text":"#<ContextMirror>"}],"running
":true}
Debug message: {u'body': {u'script': {u'columnOffset': 0, u'handle': 1, 
u'compilationType': 0, u'text': u' (lines: 14)', u'sourceLength': 120, 
u'sourceStart': u'\nfunction my_func(t)\n{\n\tvar s = "foo";\n\tvar i = 
0;\n\n\tfor (i = 0; i < 3; i++) {\n\t', u'lineCount': 14, u'scriptType': 2, 
u'lineOffset': 0, u'context': {u'ref': 0}, u'type': u'script', u'id': 17}}, 
u'seq': 1, u'success': True, u'refs': [{u'type': u'context', u'handle': 0, 
u'text': u'#<ContextMirror>'}], u'running': True, u'type': u'event', u'event': 
u'afterCompile'}
AfterCompile event: 
{"seq":2,"type":"event","event":"afterCompile","success":true,"body":{"script":{
"handle":1,"type":"script","id":17,"lineOffset":0,"columnOffset":0,"lineCount":1
4,"sourceStart":"\nfunction my_func(t)\n{\n\tvar s = \"foo\";\n\tvar i = 
0;\n\n\tfor (i = 0; i < 3; i++) 
{\n\t","sourceLength":120,"scriptType":2,"compilationType":0,"context":{"ref":0}
,"text":" (lines: 
14)"}},"refs":[{"handle":0,"type":"context","text":"#<ContextMirror>"}],"running
":true}
Debug message: {u'body': {u'invocationText': u'[anonymous]()', u'script': 
{u'lineCount': 14, u'columnOffset': 0, u'id': 17, u'lineOffset': 0, u'name': 
u''}, u'sourceLineText': u'', u'sourceColumn': 0, u'sourceLine': 0}, u'type': 
u'event', u'event': u'break', u'seq': 3}
[hanging here]

Regards,
Angelo


Original issue reported on code.google.com by [email protected] on 13 Jun 2011 at 2:11

Attachments:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant