Hello,

I am working with software that is utilizing CEF3 and therefore V8. I am 
trying to diagnose an issue that might be caused by an infrequent 
JavaScript infinite loop. Furthermore I would like to understand a process 
generating reasonable diagnostic logging when such an issue occurs.
(Some more detail can be found in the CEF forums thread here: 
https://magpcss.org/ceforum/viewtopic.php?f=6&t=17033&p=43123#p43123)

It would be ideal if I could invoke a CEF method to stop the JavaScript 
thread's execution and generate a callstack of the thread, but this doesn't 
seem to be currently possible.

It was suggested that I might be able to get more information by debugging 
the CEF renderer process. As such I've introduce an infinite loop for 
testing purposes and debugged. However I am not able to get understandable 
information from the debugger as the callstack seems to become 
incomprehensible near the calls into V8/javascript execution.

That is in visual studio I see a callstack like:
// The first entry is the code location, the second is the language. There 
are many more Unknown language items above this point omitted for clarity.
...
    5bb0cb1d()   Unknown
    5bb108a4()   Unknown
    5bb0bd31()   Unknown
    libcef.dll!v8::internal::`anonymous 
namespace'::Invoke(v8::internal::Isolate * isolate, bool is_construct, 
v8::internal::Handle<v8::internal::Object> target, 
v8::internal::Handle<v8::internal::Object> receiver, int argc, 
v8::internal::Handle<v8::internal::Object> * args, 
v8::internal::Handle<v8::internal::Object> new_target, 
v8::internal::Execution::MessageHandling message_handling, 
v8::internal::Execution::Target execution_target) Line 155   C++
    libcef.dll!v8::internal::Execution::Call(v8::internal::Isolate * 
isolate, v8::internal::Handle<v8::internal::Object> callable, 
v8::internal::Handle<v8::internal::Object> receiver, int argc, 
v8::internal::Handle<v8::internal::Object> * argv) Line 202   C++
...

Is there some way to get more information about the Unknown language items 
in the call stack? I can see the disassembly, but that is not very 
understandable.

Or perhaps there is some other suggestion on how I might generate a call 
stack of a JavaScript execution that runs too long?

Many thanks,
Grant Baltare

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/0e50db10-daea-4082-9770-438741fb9074%40googlegroups.com.

Reply via email to