Having trouble when those are hit. I am able to set breakpoints
I am processing messages in the pause loop. I can watch and respond to 
getProperty methods when paused.
But only way to pause in my code is by hitting halt on the dev-tools.
Any other action like step, will just continue the JS execution and it wont 
hit breakpoints. Only way to pause again is to hit halt.

Code is at https://github.com/hsharsha/v8inspector
It depends on libuv to interact with browser.

Thanks,
-Harsha

On Wednesday, June 7, 2017 at 11:09:57 AM UTC+5:30, Zac Hansen wrote:
>
> Are you having trouble setting those or when those are hit?   
>
> When they are hit, your code will go into the same callback as when you 
> manually pause, from what I've seen.  Are you processing messages while in 
> the pause callback?  
>
>
>
> On Tuesday, June 6, 2017 at 10:27:24 AM UTC-7, Harsha HS wrote:
>>
>> Hi,
>>
>> runMessageLoopOnPause and quitMessageLoopOnPause seems to be working 
>> correctly. When the debugger is paused using the halt icon on chrome-dev 
>> tools, runMessageLoopOnPause is called and it is just pumping messages to 
>> platform and when continued quitMessageLoopOnPause is called and the java 
>> script execution continues.
>>
>> I am facing issue with single step, break, step into or step over 
>> functionality. Debugger is not paused when these methods are hit.
>> It looks like a synchronization issue between inspector thread and java 
>> script execution thread.
>> How to synchronize between JS execution and inspector protocol?
>>
>> Thanks,
>> -Harsha
>>
>> On Monday, May 29, 2017 at 10:42:33 AM UTC+5:30, Anoop R. S. wrote:
>>>
>>> Hi Harsha,
>>> Is it setting the breakpoints by passing 
>>> "method":"Debugger.setBreakpointByUrl" ? 
>>> Seems like it is having problems on pausing: pausing at a breakpoint, 
>>> pausing after singlestep operation. 
>>> runMessageLoopOnPause function is called when debugger pauses (at a 
>>> breakpoint, after step over etc) 
>>>
>>> https://groups.google.com/forum/#!topic/v8-users/qmr92Cgagg4
>>>
>>> Here is my call stack when pause happens after a step over. You can use 
>>> it for debugging.
>>>
>>> > ChromeDbgServer.exe!V8SFWInspector::runMessageLoopOnPause(int 
>>> contextGroupId)  Line 18 C++
>>>   
>>> v8.dll!v8_inspector::V8Debugger::handleProgramBreak(v8::Local<v8::Context> 
>>> pausedContext, v8::Local<v8::Object> executionState, v8::Local<v8::Value> 
>>> exception, v8::Local<v8::Array> hitBreakpointNumbers, bool 
>>> isPromiseRejection, bool isUncaught)  Line 519 C++
>>>   v8.dll!v8_inspector::V8Debugger::handleV8DebugEvent(const 
>>> v8::DebugInterface::EventDetails & eventDetails)  Line 620 C++
>>>   v8.dll!v8_inspector::V8Debugger::v8DebugEventCallback(const 
>>> v8::DebugInterface::EventDetails & eventDetails)  Line 540 C++
>>>   v8.dll!v8::internal::Debug::CallEventCallback(v8::DebugEvent event, 
>>> v8::internal::Handle<v8::internal::Object> exec_state, 
>>> v8::internal::Handle<v8::internal::Object> event_data, 
>>> v8::Debug::ClientData * client_data)  Line 1903 C++
>>>   v8.dll!v8::internal::Debug::ProcessDebugEvent(v8::DebugEvent event, 
>>> v8::internal::Handle<v8::internal::JSObject> event_data, bool 
>>> auto_continue)  Line 1880 C++
>>>   
>>> v8.dll!v8::internal::Debug::OnDebugBreak(v8::internal::Handle<v8::internal::Object>
>>>  
>>> break_points_hit, bool auto_continue)  Line 1818 C++
>>>   v8.dll!v8::internal::Debug::Break(v8::internal::JavaScriptFrame * 
>>> frame)  Line 573 C++
>>>   v8.dll!v8::internal::__RT_impl_Runtime_DebugBreak(v8::internal::Arguments 
>>> args, v8::internal::Isolate * isolate)  Line 35 C++
>>>   v8.dll!v8::internal::Runtime_DebugBreak(int args_length, 
>>> v8::internal::Object * * args_object, v8::internal::Isolate * isolate) 
>>>  Line 25 + 0xde bytes C++
>>>
>>> Hope I am not too late for the reply.
>>>
>>> regards,
>>> Anoop R. S.
>>>
>>> --From Mail
>>>
>>>> Hi Anoop,
>>>>
>>>>  Thanks for your reply and very sorry for the delay in my reply as I 
>>>> was on vacation and did not get a chance to work on the inspector code.
>>>>
>>>> I fixed issue which was a silly mistake from my end as I was allocating 
>>>> the agent variable on stack which go cleaned up once the function returned.
>>>>
>>>> Now I could establish connection with the chrome-dev tools client and 
>>>> communicate with the debug server.
>>>> I am facing an issue here.
>>>> i) It is not breaking on the first statement, even though I have wait 
>>>> implemented
>>>> ii) I can now stop the execution using halt from the chrome-dev tools. 
>>>> But If I do single-step or step out, the execution just continues (work as 
>>>> continue instead of single step) and again I have to press halt on 
>>>> chrome-dev tools to break the execution.
>>>>
>>>> If you can take a look at github.com/hsharsha/v8inspector, would 
>>>> appreciate greatly.
>>>>
>>>> Thanks,
>>>> -Harsha
>>>>
>>>> On Thu, May 18, 2017 at 1:35 PM, Anoop R. S. wrote:
>>>>
>>>>> Hi Harsha,
>>>>> We also developed a debugging framework for JS using V8 inspector. 
>>>>> While doing that, in between we were also getting this error, but 
>>>>> resolved 
>>>>> it by debugging our code. 
>>>>> I can send you the websocket messages that we are getting. Maybe that 
>>>>> would help in some way.
>>>>> I haven't run your code provided at [
>>>>> https://github.com/hsharsha/v8inspector]. Maybe if you need further 
>>>>> help, I can check it.
>>>>>
>>>>>
>>>>> {"id":1,"method":"Log.enable"}
>>>>>
>>>>>
>>>>> {"id":2,"method":"Log.startViolationsReport","params":{"config":[{"name":"longTask","threshold":200},{"name":"longLayout","threshold":30},{"name":"blockedEvent","threshold":100},{"name":"blockedParser","threshold":-1},{"name":"handler","threshold":150},{"name":"recurringHandler","threshold":50}]}}
>>>>>
>>>>>
>>>>> {"id":3,"method":"Network.enable","params":{"maxTotalBufferSize":10000000,"maxResourceBufferSize":5000000}}
>>>>>
>>>>> {"id":4,"method":"Page.enable"}
>>>>>
>>>>> {"id":5,"method":"Page.getResourceTree"}
>>>>>
>>>>> {"id":6,"method":"Runtime.enable"}
>>>>>
>>>>> {"id":7,"method":"Debugger.enable"}
>>>>>
>>>>>
>>>>> {"id":8,"method":"Debugger.setPauseOnExceptions","params":{"state":"none"}}
>>>>>
>>>>>
>>>>> {"id":9,"method":"Debugger.setAsyncCallStackDepth","params":{"maxDepth":0}}
>>>>>
>>>>> {"id":10,"method":"DOM.enable"}
>>>>>
>>>>> {"id":11,"method":"CSS.enable"}
>>>>>
>>>>>
>>>>> {"id":12,"method":"Target.setAutoAttach","params":{"autoAttach":true,"waitForDebuggerOnStart":true}}
>>>>>
>>>>> {"id":13,"method":"Profiler.enable"}
>>>>>
>>>>>
>>>>> {"id":14,"method":"Profiler.setSamplingInterval","params":{"interval":100}}
>>>>>
>>>>> {"id":15,"method":"ServiceWorker.enable"}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'Log.enable' wasn't found"},"id":1}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'Log.startViolationsReport' wasn't 
>>>>> found"},"id":2}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'Network.enable' wasn't 
>>>>> found"},"id":3}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'Page.enable' wasn't found"},"id":4}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'Page.getResourceTree' wasn't 
>>>>> found"},"id":5}
>>>>>
>>>>>
>>>>> {"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"","name":""}}}
>>>>>
>>>>> {"id":6,"result":{}}
>>>>>
>>>>>
>>>>> {"method":"Debugger.scriptParsed","params":{"scriptId":"22","url":"my_Screen1","startLine":0,"startColumn":0,"endLine":19,"endColumn":0,"executionContextId":1,"hash":"FF07566204EF7A37E97781F777DD9282456E48B3","isLiveEdit":false,"sourceMapURL":"","hasSourceURL":false}}
>>>>>
>>>>>
>>>>> {"id":22,"method":"Debugger.setBreakpointByUrl","params":{"lineNumber":13,"url":"my_Screen1","columnNumber":39,"condition":""}}
>>>>>
>>>>> {"id":7,"result":{}}
>>>>>
>>>>> {"id":8,"result":{}}
>>>>>
>>>>> {"id":9,"result":{}}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'DOM.enable' wasn't found"},"id":10}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'CSS.enable' wasn't found"},"id":11}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'Target.setAutoAttach' wasn't 
>>>>> found"},"id":12}
>>>>>
>>>>> {"id":13,"result":{}}
>>>>>
>>>>> {"id":14,"result":{}}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'ServiceWorker.enable' wasn't 
>>>>> found"},"id":15}
>>>>>
>>>>> {"id":16,"result":{}}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'Page.setAutoAttachToCreatedPages' 
>>>>> wasn't found"},"id":17}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'Emulation.setScriptExecutionDisabled' 
>>>>> wasn't found"},"id":18}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'Rendering.setShowViewportSizeOnResize'
>>>>>  
>>>>> wasn't found"},"id":19}
>>>>>
>>>>> {"error":{"code":-32601,"message":"'Inspector.enable' wasn't 
>>>>> found"},"id":20}
>>>>>
>>>>> {"id":21,"result":{}}
>>>>>
>>>>>
>>>>> {"id":22,"result":{"breakpointId":"my_Screen1:13:39","locations":[{"scriptId":"22","lineNumber":13,"columnNumber":39}]}}
>>>>>
>>>>> Please let me know if this is of any help for you.
>>>>>
>>>>> regards,
>>>>> Anoop R. S.
>>>>>
>>>>> On Monday, 8 May 2017 20:01:43 UTC+5:30, Harsha HS wrote:
>>>>>>
>>>>>> Hi,
>>>>>> I am trying to use chrome protocol with chrom-devtools in front end.
>>>>>> I am not receiving any message from frontend after id:8
>>>>>>
>>>>>>  message {"id":1,"method":"Runtime.enable"}
>>>>>>  message {"id":2,"method":"Debugger.enable"}
>>>>>>  message 
>>>>>> {"id":3,"method":"Debugger.setPauseOnExceptions","params":{"state":"none"}}
>>>>>>  message 
>>>>>> {"id":4,"method":"Debugger.setAsyncCallStackDepth","params":{"maxDepth":0}}
>>>>>>  message {"id":5,"method":"Profiler.enable"}
>>>>>>  message 
>>>>>> {"id":6,"method":"Profiler.setSamplingInterval","params":{"interval":100}}
>>>>>>  message 
>>>>>> {"id":7,"method":"Debugger.setBlackboxPatterns","params":{"patterns":[]}}
>>>>>> message {"id":8,"method":"Runtime.runIfWaitingForDebugger"}
>>>>>>
>>>>>> For each of these messages, I am replying to frontend with {id:xx, 
>>>>>> result:{}}.
>>>>>>
>>>>>> Code is at https://github.com/hsharsha/v8inspector
>>>>>>
>>>>>> -Harsha
>>>>>>
>>>>> …
>>>>
>>>
>>> On Thursday, 18 May 2017 13:35:15 UTC+5:30, Anoop R. S. wrote:
>>>>
>>>> Hi Harsha,
>>>> We also developed a debugging framework for JS using V8 inspector. 
>>>> While doing that, in between we were also getting this error, but resolved 
>>>> it by debugging our code. 
>>>> I can send you the websocket messages that we are getting. Maybe that 
>>>> would help in some way.
>>>> I haven't run your code provided at [
>>>> https://github.com/hsharsha/v8inspector]. Maybe if you need further 
>>>> help, I can check it.
>>>>
>>>>
>>>> {"id":1,"method":"Log.enable"}
>>>>
>>>>
>>>> {"id":2,"method":"Log.startViolationsReport","params":{"config":[{"name":"longTask","threshold":200},{"name":"longLayout","threshold":30},{"name":"blockedEvent","threshold":100},{"name":"blockedParser","threshold":-1},{"name":"handler","threshold":150},{"name":"recurringHandler","threshold":50}]}}
>>>>
>>>>
>>>> {"id":3,"method":"Network.enable","params":{"maxTotalBufferSize":10000000,"maxResourceBufferSize":5000000}}
>>>>
>>>> {"id":4,"method":"Page.enable"}
>>>>
>>>> {"id":5,"method":"Page.getResourceTree"}
>>>>
>>>> {"id":6,"method":"Runtime.enable"}
>>>>
>>>> {"id":7,"method":"Debugger.enable"}
>>>>
>>>>
>>>> {"id":8,"method":"Debugger.setPauseOnExceptions","params":{"state":"none"}}
>>>>
>>>>
>>>> {"id":9,"method":"Debugger.setAsyncCallStackDepth","params":{"maxDepth":0}}
>>>>
>>>> {"id":10,"method":"DOM.enable"}
>>>>
>>>> {"id":11,"method":"CSS.enable"}
>>>>
>>>>
>>>> {"id":12,"method":"Target.setAutoAttach","params":{"autoAttach":true,"waitForDebuggerOnStart":true}}
>>>>
>>>> {"id":13,"method":"Profiler.enable"}
>>>>
>>>>
>>>> {"id":14,"method":"Profiler.setSamplingInterval","params":{"interval":100}}
>>>>
>>>> {"id":15,"method":"ServiceWorker.enable"}
>>>>
>>>> {"error":{"code":-32601,"message":"'Log.enable' wasn't found"},"id":1}
>>>>
>>>> {"error":{"code":-32601,"message":"'Log.startViolationsReport' wasn't 
>>>> found"},"id":2}
>>>>
>>>> {"error":{"code":-32601,"message":"'Network.enable' wasn't 
>>>> found"},"id":3}
>>>>
>>>> {"error":{"code":-32601,"message":"'Page.enable' wasn't found"},"id":4}
>>>>
>>>> {"error":{"code":-32601,"message":"'Page.getResourceTree' wasn't 
>>>> found"},"id":5}
>>>>
>>>>
>>>> {"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"","name":""}}}
>>>>
>>>> {"id":6,"result":{}}
>>>>
>>>>
>>>> {"method":"Debugger.scriptParsed","params":{"scriptId":"22","url":"my_Screen1","startLine":0,"startColumn":0,"endLine":19,"endColumn":0,"executionContextId":1,"hash":"FF07566204EF7A37E97781F777DD9282456E48B3","isLiveEdit":false,"sourceMapURL":"","hasSourceURL":false}}
>>>>
>>>>
>>>> {"id":22,"method":"Debugger.setBreakpointByUrl","params":{"lineNumber":13,"url":"my_Screen1","columnNumber":39,"condition":""}}
>>>>
>>>> {"id":7,"result":{}}
>>>>
>>>> {"id":8,"result":{}}
>>>>
>>>> {"id":9,"result":{}}
>>>>
>>>> {"error":{"code":-32601,"message":"'DOM.enable' wasn't found"},"id":10}
>>>>
>>>> {"error":{"code":-32601,"message":"'CSS.enable' wasn't found"},"id":11}
>>>>
>>>> {"error":{"code":-32601,"message":"'Target.setAutoAttach' wasn't 
>>>> found"},"id":12}
>>>>
>>>> {"id":13,"result":{}}
>>>>
>>>> {"id":14,"result":{}}
>>>>
>>>> {"error":{"code":-32601,"message":"'ServiceWorker.enable' wasn't 
>>>> found"},"id":15}
>>>>
>>>> {"id":16,"result":{}}
>>>>
>>>> {"error":{"code":-32601,"message":"'Page.setAutoAttachToCreatedPages' 
>>>> wasn't found"},"id":17}
>>>>
>>>> {"error":{"code":-32601,"message":"'Emulation.setScriptExecutionDisabled' 
>>>> wasn't found"},"id":18}
>>>>
>>>> {"error":{"code":-32601,"message":"'Rendering.setShowViewportSizeOnResize' 
>>>> wasn't found"},"id":19}
>>>>
>>>> {"error":{"code":-32601,"message":"'Inspector.enable' wasn't 
>>>> found"},"id":20}
>>>>
>>>> {"id":21,"result":{}}
>>>>
>>>>
>>>> {"id":22,"result":{"breakpointId":"my_Screen1:13:39","locations":[{"scriptId":"22","lineNumber":13,"columnNumber":39}]}}
>>>>
>>>> Please let me know if this is of any help for you.
>>>>
>>>> regards,
>>>> Anoop R. S.
>>>>
>>>> On Monday, 8 May 2017 20:01:43 UTC+5:30, Harsha HS wrote:
>>>>>
>>>>> Hi,
>>>>> I am trying to use chrome protocol with chrom-devtools in front end.
>>>>> I am not receiving any message from frontend after id:8
>>>>>
>>>>>  message {"id":1,"method":"Runtime.enable"}
>>>>>  message {"id":2,"method":"Debugger.enable"}
>>>>>  message 
>>>>> {"id":3,"method":"Debugger.setPauseOnExceptions","params":{"state":"none"}}
>>>>>  message 
>>>>> {"id":4,"method":"Debugger.setAsyncCallStackDepth","params":{"maxDepth":0}}
>>>>>  message {"id":5,"method":"Profiler.enable"}
>>>>>  message 
>>>>> {"id":6,"method":"Profiler.setSamplingInterval","params":{"interval":100}}
>>>>>  message 
>>>>> {"id":7,"method":"Debugger.setBlackboxPatterns","params":{"patterns":[]}}
>>>>> message {"id":8,"method":"Runtime.runIfWaitingForDebugger"}
>>>>>
>>>>> For each of these messages, I am replying to frontend with {id:xx, 
>>>>> result:{}}.
>>>>>
>>>>> Code is at https://github.com/hsharsha/v8inspector
>>>>>
>>>>> -Harsha
>>>>>
>>>>

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to