Bug#686312: Debian bug #686312 (kdbg)
Am 04.11.2012 22:17, schrieb Philip Ashmore: On 04/11/12 20:00, Johannes Sixt wrote: The transcript does not show evidence that you even attempted to step into some functions. With the above deficiency in mind, the transcript and the screenshot look totally normal. The segfault stopped execution. I ran it a couple of times, I guess I didn't do stepping in the kdbg.txt I attached. I focussed on getting the transcript and the screen-shot straight after. OK. Are those two ??() entries in the stack trace normal? They are not abnormal as far as KDbg is concerned. GDB reported these two stack frames, as you can see in the transcript. Whether you like what GDB produced, is an entirely different matter, of course ;-) That Parser::parse() function is in the same project. I don't know if this is a factor, but I renamed one of the files that had breakpoints set for it - No source file named project-file-treemodel.cpp. By itself, this does not cause the problem, but it adds to the symptoms, I think. The attached patch should cure the above-mentioned problem about Note: Can you please test it? Do other problems mentioned in this bug report still occur? Could you reply with a list of things to check after I've encountered the problem and applied the patch? Most importantly, the list of breakpoints should not grow each time the session is loaded. But apart from that, I don't know what to watch out for. Message #5 reads It worked a couple of times and now it can't reach main(). You should know what this means. I can only guess. Any chance of adding remove all breakpoints remove duplicate breakpoints at this address remove duplicate breakpoints or maybe just remove duplicate breakpoints automatically at startup? I nearly wore my poor mouse out clicking on remove. Use your keyboard's autorepeat feature ;-) Click View Code and then keep your finger at F9 until the breakpoint goes away. Recently I set a breakpoint and I saw MULTIPLE in the breakpoints list. This happens when you set a breakpoint in a constructor or destructor (and possibly others, perhaps inline or template functions). KDbg doesn't cope with these breakpoints. Erase them asap. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#686312: Debian bug #686312 (kdbg)
Am 04.11.2012 00:04, schrieb Philip Ashmore: Please find attached kdbg.txt that I obtained when I ran kdbg -t kdbg.txt build/sb/sb-designer/.libs/sb-designer Thanks! One problem is that KDbg does not understand the response Note: breakpoints 4 and 5 also set at pc 0x41f0ce. This ultimately leads to the accumulation of many breakpoints each time the session is started. This one's even more bizarre - I get to main but can't step into a function several levels down. The transcript does not show evidence that you even attempted to step into some functions. With the above deficiency in mind, the transcript and the screenshot look totally normal. I don't know if this is a factor, but I renamed one of the files that had breakpoints set for it - No source file named project-file-treemodel.cpp. By itself, this does not cause the problem, but it adds to the symptoms, I think. The attached patch should cure the above-mentioned problem about Note: Can you please test it? Do other problems mentioned in this bug report still occur? diff --git a/kdbg/gdbdriver.cpp b/kdbg/gdbdriver.cpp index 73b87f8..2c8c242 100644 --- a/kdbg/gdbdriver.cpp +++ b/kdbg/gdbdriver.cpp @@ -2036,25 +2036,26 @@ static bool parseNewWatchpoint(const char* o, int id, bool GdbDriver::parseBreakpoint(const char* output, int id, QString file, int lineNo, QString address) { -const char* o = output; // skip lines of that begin with (Cannot find -while (strncmp(o, (Cannot find, 12) == 0) { - o = strchr(o, '\n'); - if (o == 0) +while (strncmp(output, (Cannot find, 12) == 0 || + strncmp(output, Note: breakpoint, 16) == 0) +{ + output = strchr(output, '\n'); + if (output == 0) return false; - o++;/* skip newline */ + output++; /* skip newline */ } -if (strncmp(o, Breakpoint , 11) == 0) { +if (strncmp(output, Breakpoint , 11) == 0) { output += 11; /* skip Breakpoint */ return ::parseNewBreakpoint(output, id, file, lineNo, address); -} else if (strncmp(o, Temporary breakpoint , 21) == 0) { +} else if (strncmp(output, Temporary breakpoint , 21) == 0) { output += 21; return ::parseNewBreakpoint(output, id, file, lineNo, address); -} else if (strncmp(o, Hardware watchpoint , 20) == 0) { +} else if (strncmp(output, Hardware watchpoint , 20) == 0) { output += 20; return ::parseNewWatchpoint(output, id, address); -} else if (strncmp(o, Watchpoint , 11) == 0) { +} else if (strncmp(output, Watchpoint , 11) == 0) { output += 11; return ::parseNewWatchpoint(output, id, address); }
Bug#686312: Debian bug #686312 (kdbg)
On 04/11/12 20:00, Johannes Sixt wrote: Am 04.11.2012 00:04, schrieb Philip Ashmore: Please find attached kdbg.txt that I obtained when I ran kdbg -t kdbg.txt build/sb/sb-designer/.libs/sb-designer Thanks! One problem is that KDbg does not understand the response Note: breakpoints 4 and 5 also set at pc 0x41f0ce. This ultimately leads to the accumulation of many breakpoints each time the session is started. This one's even more bizarre - I get to main but can't step into a function several levels down. The transcript does not show evidence that you even attempted to step into some functions. With the above deficiency in mind, the transcript and the screenshot look totally normal. The segfault stopped execution. I ran it a couple of times, I guess I didn't do stepping in the kdbg.txt I attached. I focussed on getting the transcript and the screen-shot straight after. Are those two ??() entries in the stack trace normal? That Parser::parse() function is in the same project. I don't know if this is a factor, but I renamed one of the files that had breakpoints set for it - No source file named project-file-treemodel.cpp. By itself, this does not cause the problem, but it adds to the symptoms, I think. The attached patch should cure the above-mentioned problem about Note: Can you please test it? Do other problems mentioned in this bug report still occur? Could you reply with a list of things to check after I've encountered the problem and applied the patch? The next time it happens I'll build kdbg from source and apply the patch. It doesn't happen often - but when it does it's a real pain. Any chance of adding remove all breakpoints remove duplicate breakpoints at this address remove duplicate breakpoints or maybe just remove duplicate breakpoints automatically at startup? I nearly wore my poor mouse out clicking on remove. Recently I set a breakpoint and I saw MULTIPLE in the breakpoints list. I've gotten into the habit of removing breakpoints that look like they're going to cause problems, so bear with me, I'm almost ready to release my stuff, so it might be a few days. Regards, Philip -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org