Is there any way to get a correctly decoded native (i.e. not js) stack trace, on Windows, from within C++ code that is called from javascript via the v8 api?
I've noticed that stack traces captured by a crash reporter like BugSplat are bogus, and that the MSVS debugger is also incapable of decoding stacks that contain v8 frames. I assume that v8 uses cdecl, not stdcall, but I don't see why that would interfere with at least decoding return addresses correctly. However, all the stack traces I see wander off into nonsensical addresses, and never arrive back at main(), or whatever the thread entry point was. I've attached an example from the MSVS debugger at the end of the email. Thanks, Mark iojs.dll!v8::internal::FunctionCallbackArguments::Call(void (const v8::FunctionCallbackInfo<v8::Value> &) * f) Line 34 C++ iojs.dll!v8::internal::HandleApiCallHelper<0>(v8::internal::Isolate * isolate, v8::internal::`anonymous-namespace'::BuiltinArguments<1> & args) Line 1111 C++ iojs.dll!v8::internal::Builtin_HandleApiCall(int args_length, v8::internal::Object * * args_object, v8::internal::Isolate * isolate) Line 1128 C++ 000002300e9060bf() Unknown iojs.dll!v8::internal::Builtin_HandleApiCall(int args_length, v8::internal::Object * * args_object, v8::internal::Isolate * isolate) Line 1128 C++ 000002300e9196f5() Unknown 000000a64644ed68() Unknown 00000319801a4019() Unknown 000000bcd6a695d9() Unknown 000002300e933a50() Unknown 000003198019b831() Unknown 000002300e906001() Unknown 000000a64644ed20() Unknown 000000a64644edc8() Unknown 000002300ecaa7b5() Unknown 000003198019b831() Unknown 0000037fd67299b9() Unknown 000002d3013fdec1() Unknown 000003198019b831() Unknown 000000bcd6a695d9() Unknown 00000319801a43c9() Unknown 0000037fd67286a1() Unknown 0000031980104131() Unknown 0000037fd66d9dd1() Unknown 0000037fd66d7b19() Unknown 000000a64644ee20() Unknown 000002300eaebfa6() Unknown 0000037fd67086e1() Unknown 0000037fd67274d9() Unknown 0000031980104111() Unknown 0000031980104131() Unknown 0000037fd66d9dd1() Unknown 0000031980104131() Unknown 0000037fd67274d9() Unknown 0000037fd6708a49() Unknown 0000037fd6708719() Unknown 000000a64644ee68() Unknown 000002300eabda57() Unknown 0000037fd6706ab1() Unknown 000003198018c559() Unknown 0000000100000000() Unknown 0000037fd6727281() Unknown 0000000200000000() Unknown 000000bcd6ae8181() Unknown 000000bcd6a70139() Unknown 000000a64644ef18() Unknown 000002300e98018c() Unknown 0000037fd6706ab1() Unknown 00000319801043a1() Unknown 0000037fd6708ab1() Unknown 0000031980104131() Unknown 000000bcd6ae8181() Unknown 000001fe3fe73271() Unknown 00000319801043a1() Unknown 0000031980104131() Unknown 00000319801043a1() Unknown 00000319801043a1() Unknown 0000031980104111() Unknown 0000037fd6706da1() Unknown 0000031980104131() Unknown 0000031980104131() Unknown 0000000100000000() Unknown 0000037fd6708ab1() Unknown 0000031980104131() Unknown 0000037fd6727249() Unknown 000001fe3fe73271() Unknown 000000bcd6a70139() Unknown 000000a64644ef50() Unknown 000002300eadc1f0() Unknown 000003198017ae89() Unknown 0000037fd6706ab1() Unknown 000001fe3fe73271() Unknown 000000bcd6aec989() Unknown 000000bcd6ab1639() Unknown 000000a64644efa0() Unknown 000002300eab4318() Unknown 0000037fd6706ab1() Unknown 0000037fd6706c91() Unknown 0000031980104131() Unknown 000000bcd6aec989() Unknown 000000bcd6aceb51() Unknown 0000031980104361() Unknown 000000bcd6af2bf1() Unknown 000000bcd6aceb51() Unknown 000000a64644f000() Unknown 000002300ea88119() Unknown 0000037fd6706ab1() Unknown 0000037fd6706c91() Unknown 000000bcd6aec989() Unknown 0000031980104131() Unknown 000000bcd6af2bf1() Unknown 0000037fd6727161() Unknown 0000037fd6727099() Unknown 000000bcd6aec989() Unknown 000000bcd6a6a721() Unknown 000000bcd6aceb51() Unknown 000000a64644f038() Unknown 000002300e919f23() Unknown 00000319801a43c9() Unknown 000000bcd6a6a721() Unknown 000002300e919e21() Unknown 0000000800000000() Unknown -- -- 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.
