Howdy! I have a nice stacktrace from some memory error in valgrind, and it fails to print the source file + line number somewhere. Here's the trace:
==63113== Conditional jump or move depends on uninitialised value(s) ==63113== at 0x52FBA8: __vfprintf (in /usr/lib/system/libsystem_c.dylib) ==63113== by 0x52F18D: vfprintf_l (in /usr/lib/system/libsystem_c.dylib) ==63113== by 0x538D99: fprintf (in /usr/lib/system/libsystem_c.dylib) ==63113== by 0x100046718: write_regfit(char*, Regfit*) (clsf_io.cc:505) ==63113== by 0x1000466B5: write_regfit(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, Regfit*) (clsf_io.cc:492) ==63113== by 0x10002F7AC: run_image(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_ostream<char, std::__1::char_traits<char> >&) (stage1.cc:335) ==63113== by 0x10002D2C5: run_study(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_ostream<char, std::__1::char_traits<char> >&) (stage1.cc:266) ==63113== by 0x10002B83B: run_case(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_ostream<char, std::__1::char_traits<char> >&) (stage1.cc:222) ==63113== by 0x100029748: main (stage1.cc:173) ==63113== Uninitialised value was created by a stack allocation ==63113== at 0x10002D7D4: run_image(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_ostream<char, std::__1::char_traits<char> >&) (in /Users/nick/Documents/Code/diag/REPO/BIN/stage1) As you can see, it doesn't say what source file + line number is where the uninitialized was created, but when I pass these values into atos (addr2line for BSD, basically): nick@Nicks-MacBook-Pro:~/Documents/Code/diag/REPO/BIN$ atos -o stage1 0x10002D7D4 run_image(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_ostream<char, std::__1::char_traits<char> >&) (in stage1) (stage1.cc:284) This is on my Mac, running OSX 10.7, running valgrind 3.8.1 I was wondering why atos can give me source + line number and valgrind can't. Thanks in advance! ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_123012 _______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users