Bug#686312: Debian bug #686312 (kdbg)

2012-11-05 Thread Johannes Sixt
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)

2012-11-04 Thread Johannes Sixt
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)

2012-11-04 Thread Philip Ashmore

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