Register
c[ode]clap»Forums»Some issues
4 posts
Some issues
3 weeks, 6 days ago Edited by TorquePentagram on March 16, 2021, 9:05 p.m. Reason: Initial post
Hi,

I have started using the debugger. I have some questions / notes.

Is there a way to map deleting watches to a different key than delete? I do not have one in my keyboard layout and do not see any related entry in keybindings menu.

After clearing an expression, old value remains visible in ‘Value’ column. Is it intended? I would expect the entry to be deleted.

I am using Linux and a tiling window manager — bspwm. When I close codeclap's window, it fails. It prints
X connection to :0 broken (explicit kill or server shutdown).

and exits with error code 1. In such cases not all settings are saved, e.g. new keybindings.
(I have not seen problems when closing the program by sending SIGTERM signal).
Before understanding what was the cause, it happened to me a few times. Sometimes on restart the program gave me an option to “try to restore settings” (or something like that, I do not remember exactly). One time the program would not start, crashing each time, so I had to delete it and start with a new instance.

Some symbols seem to be missing — constants like XCB_VISUAL_CLASS_TRUE_COLOR are “undefined” (they show fine in gdb).

When I use embedded stepping the debugger does not always follow the current line, so it disappears from the visible region.

Stepping into sometimes does not stop the program. I am able to reproduce this with code below (g++ -gdwarf -O0)
1
2
3
4
5
6
7
8
#include <cstdio>
int main(int argc, char **argv) {
	(argc != 0) ? (void)0 : (printf("AAA"), (void)0); // Stepping into this expression does not stop the execution of the program
 
	int x = 6;
	int y = 7;
	y *= x;
}



I do not know if these issues have been reported previously, if so sorry for wasting time.
spx
142 posts / 1 project
Some issues
3 weeks, 5 days ago
Hello,

don't worry having a few duplicates is always better than not having feedback for potential problems.

Is there a way to map deleting watches to a different key than delete? I do not have one in my keyboard layout and do not see any related entry in keybindings menu.

You are right that using the delete key is the only way at the moment. For the next update I will make this one changeable as well as add an "delete" option to the context menu of expressions and breakpoints.

After clearing an expression, old value remains visible in ‘Value’ column. Is it intended? I would expect the entry to be deleted.

This is intended but more or less a side-effect from the last change to show old knowns values in grey when for example an variable goes out of scope. When manually editing the field it could be better to just forget the old value.

I am using Linux and a tiling window manager — bspwm. When I close codeclap's window, it fails.

The effect you describe sounds a bit as if codeclap starts to persist to disk but gets interrupted mid way. I will have to check what happens when closing a window with bspwm or a tiling wm in general and how to handle this correctly.

Some symbols seem to be missing — constants like XCB_VISUAL_CLASS_TRUE_COLOR are “undefined” (they show fine in gdb).
When I use embedded stepping the debugger does not always follow the current line, so it disappears from the visible region.

I will have a look at these two.

Stepping into sometimes does not stop the program. I am able to reproduce this with code below (g++ -gdwarf -O0)

Can confirm that this also happens for me. This is probably because of the conditional jump on the same source line as the call and codeclap making a wrong assumption about the control flow in this case. Therefore basically trying to run to an instruction that is never reached.

I think that we can get most of this sorted for the next minor update. This shouldn't take too long since there is a planned bugfix release for 0.9.7.
4 posts
Some issues
3 weeks, 5 days ago
Thanks. I look forward to this version then.
4 posts
Some issues
6 days, 9 hours ago Edited by TorquePentagram on April 7, 2021, 10:33 a.m.
I have located another problem. It seems that lambdas are not handled correctly. With the code (g++ -O0 -gdwarf)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
int main() {
	int A;
	A = 3;
	int B = 8;

	const auto Lambda = []{
	};
	Lambda();

	int C = 6;
	C += 2;
}


variables ‘Lambda’ and ‘C’ are not accessible through expressions window — they are displayed as “undefined”. Interestingly, correct values are shown inline in the source code window. It also does not happen if the lambda is not called.

It is rather annoying, as (probably) due to this I cannot see a number of local variables in my code and have to fallback to gdb in such cases.
spx
142 posts / 1 project
Some issues
5 days, 21 hours ago
TorquePentagram
variables ‘Lambda’ and ‘C’ are not accessible through expressions window — they are displayed as “undefined”. Interestingly, correct values are shown inline in the source code window.


Thanks for reporting this. I am seeing this as well and should be able to get this fixed for the next update. If nothing unexpected happens that one should be available roughly on Sunday.

Most if not all of your issues should be fixed with this update. I wasn't able to see a clear reason that would cause a faulty or partial configuration to be stored that fails to start up correctly. I don't see how "X connection to :0 broken" could have caused this. So this may still be present but I haven't heard of this as being a common issue.
4 posts
Some issues
4 days, 22 hours ago Edited by TorquePentagram on April 8, 2021, 9 p.m.
Great, thanks.

I will keep an eye on this corrupted configuration. I will inform you if this continues to happen, or I am able to reproduce it. However, I think has rather low priority, unless it happened each time, so no configuration change would be possible.

(And there is no need to thank me for bug reports. I mean, I am the one who gets something from this. It seems that Codeclap is going to be quite usable, much more than gdb, if some more work is put into it, so there really is no reason for me not to report problems.)