GNOME Bugzilla – Bug 395077
Detect that there's no debugging info
Last modified: 2020-03-10 11:55:20 UTC
When you start nemiver with a program that has no debugging info, it shows three message boxes: There is no file name info for symbol@addr: @0x000000... Assertion failed: !a_file_name.empty() File path info is missing for function 'main' and the default logging (nothing specified) prints: |X|virtual void nemiver::DBGPerspective::append_visual_breakpoint(const nemiver::common::UString&, int):nmv-dbg-perspective.cc:3635:condition (!a_file_name.empty()) failed; raising exception |E|void nemiver::DBGPerspective::on_debugger_breakpoints_set_signal(const std::map<int, nemiver::IDebugger::BreakPoint, std::less<int>, std::allocator<std::pair<const int, nemiver::IDebugger::BreakPoint> > >&):nmv-dbg-perspective.cc:1360:caught exception: 'Assertion failed: !a_file_name.empty()' Anyway, this is easy to reproduce. I just suggest that this could be managed in future in a less verbose way, say, a message box that says "No debugging symbols found", which is what ddd prints.
This bug is somewhat related to Bug 447890. If that bug were fixed, we would be down to two popup warnings for this case.
Now with the growing number of distributions out there that support PackageKit, I think we can even propose to download the missing debug information. However, we must be very careful when doing that, because they might be interesting corner cases. I'd propose at least a gconf option to disable the option at will.
I would like to take up this bug. Can you please assign it to me ? If any pointers on how I go about fixing it would be helpful. ~seemanta
Just to be sure I understand well, Do you intend to implement a PackageKit based solution to download debug info packages for programs that are being debugged by Nemiver?
Btw, Seemanta, I have assigned you the bug as you asked :-)
Now that we have disassembly support in Nemiver, it's worth noting that when no debug info is installed, the tool won't pop up any window anymore telling you there is no source file for a given symbol. Instead, it will automatically disassemble the region of code around the current instruction pointer. If you are brave enough, the disassembly will be enough for you. Otherwise you'll have to install the relevant debug info.
Closing all open Nemiver tasks as this project does not seem to be maintained anymore. Please see https://gitlab.gnome.org/Infrastructure/Infrastructure/issues/235#note_732192 for further information. Thanks!