For any future readers; I went back to trying to build a debug v8 set of libs (wouldnt compile before, added is_component_build=false which I think fixed that) Built with latest master (4544e18b0c3845a9fca422cf0903df4803343cf1)
Which forced me to correct a few uses of deprecated functions, including v8 ::String::NewFromUtf8() with no isolate, so *possibly* that was the source of the crash re: scriptorigin. I now get an origin in CDT (kinda, it still breaks in a VMXX file) Then asserts as before in "code that should never be reached" (see earlier in the thread) [image: Screen Shot 2018-09-13 at 17.08.09.png] On Wednesday, 12 September 2018 17:34:30 UTC+1, @soylentgraham wrote: > > With a lot of back & forth help from Ibon/hyperandroid, we've got a bit > further in working out which things are good, and which are bad. > Feels like we're close, but things are still unstable, and a bit > unresponsive. > > I can kinda break into the code (which only shows *this *in sources) > Still get the assert above from trying to autocomplete too many times. > (albeit after a RunMessageLoop callback now) > And if I add a script origin, I get a crash trying to stacktrace > (immediately when connecting, still trying to figure this out, as my > scriptorigin is okay) > > More stripped back version here (cutting more dependencies out, but all my > setup, inspector, frontend, messaging is in v8minimal.cpp) > https://github.com/SoylentGraham/V8InspectorMinimal > > On Monday, 27 August 2018 13:49:37 UTC+1, @soylentgraham wrote: >> >> Through various sources (ie, googling & github) I've finally got a bit of >> a grasp of the flow for connecting chrome dev tools to my v8 app. (which is >> using a pretty recent HEAD build I've built myself with all default >> settings other than compiling as a static lib[s]. v8-version.h says 7.0.0.0) >> >> I connect via an explicit url (can't quite get json/list/ to show up in >> chrome yet) >> *chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:8008 >> >> <http://127.0.0.1:8008>* >> (Not sure how relevant the v8only=true and experiments=true are, couldn't >> find any documentation on this) >> >> This connects to my websocket, and I pass all messages straight to >> *Session->dispatchProtocolMessage* >> >> My channel then gets *sendResponse's* in return, which I send back to >> chrome over my websocket. >> >> Chrome dev tools shows essentially an empty debugger, no sources, no >> console output, no errors... >> >> The responses my isolate/context sends back, suggest maybe I have some JS >> symbols/modules missing, which maybe I need to implement? >> I'm kinda assuming this, as the debugger. methods succeed, but things >> like *Inspector.enable* (which I haven't found anyone implementing, but >> some people are implementing Inspector objects, just with different >> methods) fail >> >> *Chrome tools message: {"id":16,"method":"Inspector.enable"}* >> >> *Channel response: {"error":{"code":-32601,"message":"'Inspector.enable' >> wasn't found"},"id":16}* >> Is this why chrome isn't proceeding with anything? >> Am I supposed to implement these, or perhaps are they missing from my >> native blobs when I built my v8 libraries? >> >> My overloads of the inspector client functions like >> *runMessageLoopOnPause* aren't being called, but I assume that's just >> because I haven't gotten to any stage where commands are being evaluated? >> >> Below is what I get when I connect chrome, but then it just sits there :) >> >> Thanks for any pointers in the right direction! >> >> *Chrome tools message: >> {"id":1,"method":"Network.enable","params":{"maxPostDataSize":65536}}* >> >> *Channel response: {"error":{"code":-32601,"message":"'Network.enable' >> wasn't found"},"id":1}* >> >> *Chrome tools message: {"id":2,"method":"Page.enable"}* >> >> *Channel response: {"error":{"code":-32601,"message":"'Page.enable' >> wasn't found"},"id":2}* >> >> *Chrome tools message: {"id":3,"method":"Page.getResourceTree"}* >> >> *Chrome tools message: {"id":4,"method":"Profiler.enable"}* >> >> *Channel response: >> {"error":{"code":-32601,"message":"'Page.getResourceTree' wasn't >> found"},"id":3}* >> >> *Channel response: {"id":4,"result":{}}* >> >> *Chrome tools message: {"id":5,"method":"Runtime.enable"}* >> >> *Channel response: >> {"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"","name":"PopEngineContextName"}}}* >> >> *Channel response: {"id":5,"result":{}}* >> >> *Chrome tools message: {"id":6,"method":"Debugger.enable"}* >> >> *Channel response: >> {"method":"Debugger.scriptParsed","params":{"scriptId":"9","url":"","startLine":0,"startColumn":0,"endLine":1,"endColumn":0,"executionContextId":1,"hash":"2a70962568dbbde00fb323decd63c2ca137b304c","isLiveEdit":false,"sourceMapURL":"","hasSourceURL":false,"isModule":false,"length":17}}* >> >> *Channel response: >> {"id":6,"result":{"debuggerId":"(6B1A58050CBFAE70E5B41C5556E5520D)"}}* >> >> *Chrome tools message: >> {"id":7,"method":"Debugger.setPauseOnExceptions","params":{"state":"uncaught"}}* >> >> *Channel response: {"id":7,"result":{}}* >> >> *Chrome tools message: >> {"id":8,"method":"Debugger.setAsyncCallStackDepth","params":{"maxDepth":32}}* >> >> *Channel response: {"id":8,"result":{}}* >> >> *Chrome tools message: {"id":9,"method":"DOM.enable"}* >> >> *Channel response: {"error":{"code":-32601,"message":"'DOM.enable' wasn't >> found"},"id":9}* >> >> *Chrome tools message: {"id":10,"method":"CSS.enable"}* >> >> *Channel response: {"error":{"code":-32601,"message":"'CSS.enable' wasn't >> found"},"id":10}* >> >> *Chrome tools message: {"id":11,"method":"Overlay.enable"}* >> >> *Channel response: {"error":{"code":-32601,"message":"'Overlay.enable' >> wasn't found"},"id":11}* >> >> *Chrome tools message: >> {"id":12,"method":"Overlay.setShowViewportSizeOnResize","params":{"show":true}}* >> >> *Channel response: >> {"error":{"code":-32601,"message":"'Overlay.setShowViewportSizeOnResize' >> wasn't found"},"id":12}* >> >> *Chrome tools message: {"id":13,"method":"Log.enable"}* >> >> *Channel response: {"error":{"code":-32601,"message":"'Log.enable' wasn't >> found"},"id":13}* >> >> *Chrome tools message: >> {"id":14,"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},{"name":"discouragedAPIUse","threshold":-1}]}}* >> >> *Channel response: >> {"error":{"code":-32601,"message":"'Log.startViolationsReport' wasn't >> found"},"id":14}* >> >> *Chrome tools message: {"id":15,"method":"ServiceWorker.enable"}* >> >> *Channel response: >> {"error":{"code":-32601,"message":"'ServiceWorker.enable' wasn't >> found"},"id":15}* >> >> *Chrome tools message: {"id":16,"method":"Inspector.enable"}* >> >> *Channel response: {"error":{"code":-32601,"message":"'Inspector.enable' >> wasn't found"},"id":16}* >> >> *Chrome tools message: >> {"id":17,"method":"Target.setAutoAttach","params":{"autoAttach":true,"waitForDebuggerOnStart":true}}* >> >> *Channel response: >> {"error":{"code":-32601,"message":"'Target.setAutoAttach' wasn't >> found"},"id":17}* >> >> *Chrome tools message: >> {"id":18,"method":"Target.setDiscoverTargets","params":{"discover":true}}* >> >> *Channel response: >> {"error":{"code":-32601,"message":"'Target.setDiscoverTargets' wasn't >> found"},"id":18}* >> >> *Chrome tools message: >> {"id":19,"method":"Target.setRemoteLocations","params":{"locations":[{"host":"localhost","port":9229}]}}* >> >> *Channel response: >> {"error":{"code":-32601,"message":"'Target.setRemoteLocations' wasn't >> found"},"id":19}* >> >> *Chrome tools message: >> {"id":20,"method":"Debugger.setBlackboxPatterns","params":{"patterns":["/main\\.js\\b"]}}* >> >> *Channel response: {"id":20,"result":{}}* >> >> *Chrome tools message: >> {"id":21,"method":"Page.getNavigationHistory","params":{}}* >> >> *Channel response: >> {"error":{"code":-32601,"message":"'Page.getNavigationHistory' wasn't >> found"},"id":21}* >> >> >> -- -- v8-users mailing list v8-users@googlegroups.com 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 v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.