For VS2008 (C++) generated linker map files, what does the symbol "__unwind$" mean? I have a good chunk of them in the linker map file for my app.
I have a log which says a crash happens at a particular offset say 'x'. When I look at the linker map for this offset, I find this __unwind$41357 corresponding to the offset.
Also generally is there any reference to understand the file format of linker map files?
"Unwinding" is happens with a stack when an exception is thrown. The __
prefix indicates a compiler-generated symbol. So, based on the description, you get a crash between a throw and a catch. My assumption is that the destructors called are called from the __unwind$
functions. An inlined destructor wouldn't have its own stackframe, so it would show up in the calling __unwind$
function.
Only a guess, but I would say it is part of the code that handles stack unwinding when an exception is thrown.