Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drsyms: fails to demangle symbols in some cases on Windows #595

Closed
derekbruening opened this issue Nov 28, 2014 · 1 comment
Closed

drsyms: fails to demangle symbols in some cases on Windows #595

derekbruening opened this issue Nov 28, 2014 · 1 comment

Comments

@derekbruening
Copy link
Contributor

From rnk@google.com on October 28, 2011 17:03:02

I saw this while I was looking through a drmemory results file:

Error #9: LEAK 1 direct bytes 0x00217ed8-0x00217ed9 + 0 indirect bytes
#0 MSVCR90.dll!??2@YAPAXI@Z (0x73403eb8 <MSVCR90.dll+0x63eb8>)
??:0
#1 MSVCP90.dll!??$norm@O@std@@YAOABV?$complex@O@0@@z (0x7345fed9 <MSVCP90.dll+0xfed9>)
??:0
#2 MSVCP90.dll!?_Init@?$numpunct@D@std@@IAEXABV_Locinfo@2@_N@Z (0x73460e39 <MSVCP90.dll+0x10e39>)
??:0
#3 MSVCP90.dll!??0?$numpunct@D@std@@QAE@ABV_Locinfo@1@I_N@Z (0x73464d91 <MSVCP90.dll+0x14d91>)
??:0
#4 MSVCP90.dll!?_Getcat@?$numpunct@D@std@@SAIPAPBVfacet@locale@2@PBV42@@z (0x73469d69 <MSVCP90.dll+0x19d69>)
??:0
#5 MSVCP90.dll!??$?H_WU?$char_traits@_W@std@@v?$allocator@_W@1@@std@@ya?AV?$basic_string@_WU?$char_traits@_W@std@@v?$allocator@_W@2@@0@PB_WABV10@@z (0x7346cb76 <MSVCP90.dll+0x1cb76>)
??:0
#6 MSVCP90.dll!?_Iput@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@AbA?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DPADI@Z (0x7346e961 <MSVCP90.dll+0x1e961>)
??:0
#7 MSVCP90.dll!?do_put@?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@mbe?AV?$ostreambuf_iterator@DU?$char_traits@D@std@@@2@V32@AAVios_base@2@DK@Z (0x734797f7 <MSVCP90.dll+0x297f7>)
??:0
#8 MSVCP90.dll!?put@?$num_put@_WV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@qbe?AV?$ostreambuf_iterator@_WU?$char_traits@_W@std@@@2@V32@AAVios_base@2@_WK@Z (0x7345de48 <MSVCP90.dll+0xde48>)
??:0
#9 MSVCP90.dll!??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z (0x7347bc69 <MSVCP90.dll+0x2bc69>)
??:0
#10 test_leaks (0x003e1484 <cs2bugMD.exe+0x1484>)
c:\src\drmemory\tests\cs2bug.cpp:136
#11 main (0x003e122d <cs2bugMD.exe+0x122d>)
c:\src\drmemory\tests\cs2bug.cpp:196

The dbghelp docs say you cannot flip the SYMOPT_UNDNAME flag back and forth because it builds a table of symbols in memory once when you it loads symbols. I ignored it because my testing seemed to show otherwise. I'll have to go back and either make sure it's always on or always off. I'm worried that if it's always off, when we use drsym_search_symbols, we'll be searching mangled names. For all other functions, I can tolerate it being always off by doing the demangling myself.

Original issue: http://code.google.com/p/dynamorio/issues/detail?id=595

@derekbruening
Copy link
Contributor Author

From rnk@google.com on November 04, 2011 14:11:21

Fixed by r1130 .

Status: Fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant