CodeLite Debugger Memory Bug

Discussion about CodeLite development process and patches
wwashington
CodeLite Curious
Posts: 8
Joined: Tue Dec 31, 2013 12:33 pm
Genuine User: Yes
IDE Question: C++
Contact:

CodeLite Debugger Memory Bug

Post by wwashington »

CodeLite looks good, C++ using MinGW + wxWidgets. I just paid CodeLite and wxCrafter.
The Debugger Memory function is buggy, can't show correct contents like CodeBlocks when
you change size to 64 or 256. I support this program by PayPal. So please support users.

Bug Report: Look at the red area. The Memory Dump should display 8 or 16 data in a line.
When the data out of screen, please add a scroll bar to see them. Comparing CodeBlocks.
You can try to build a RAD tool like Lazarus in C++, that will be cool if CodeLite can do.

http://www.lazarus.freepascal.org/
Delphi compatible cross-platform IDE for RAD. It's a pity that they Do NOT support C++.
CodeLite_Debuggers.jpg
CodeBlocks_Debuggers.jpg
CodeBlocks_Compilers.jpg
You do not have the required permissions to view the files attached to this post.
User avatar
eranif
CodeLite Plugin
Posts: 6367
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite Debugger Memory Bug

Post by eranif »

Did you try clicking the "Evaluate" button after changing the size to 256?
For me it shows a scrollbar + updates the content

Eran
Make sure you have read the HOW TO POST thread
wwashington
CodeLite Curious
Posts: 8
Joined: Tue Dec 31, 2013 12:33 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite Debugger Memory Bug

Post by wwashington »

Of course I click the "Evaluate" button after changing size to 64 or 256. It often have
no response, or display discontinuous memory dumps. I recommend that CodeLite can
switch to a Drop-Down Menu like the CodeBlocks debugger. In other ways, CodeLite is
more user friendly. That's the reason I paid CodeLite/wxCrafter even I'm a Chinese.

Please take a look at the simple demo code, you can find the argv is addr of an array,
such as 0x392b58, then run Memory Dump and you will find data is 0x00392a99, now
watch data for addr 0x00392a99. The first string should be your application full path.
Now you can run CodeLite and CodeBlocks together, then you will discover the bug.

-------- Simple Demo for char *argv[] or char **argv in main(), only for testing --------

#include <stdio.h>

int sum(int, int);

int
main(int argc, char *argv[])
{
int result;
int a = 1, b = 2;
result = sum(a, b);
printf("%d + %d = %d\n", a, b, result);
return 0;
}

int
sum(int a, int b)
{
return a + b;
}
User avatar
eranif
CodeLite Plugin
Posts: 6367
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite Debugger Memory Bug

Post by eranif »

wwashington wrote:even I'm a Chinese
:D
wwashington wrote:Please take a look at the simple demo code, you can find the argv is addr of an array,
such as 0x392b58, then run Memory Dump and you will find data is 0x00392a99, now
watch data for addr 0x00392a99. The first string should be your application full path.
Now you can run CodeLite and CodeBlocks together, then you will discover the bug.
I tried that already before posting my reply. However, I tried it on Linux, I will try Windows now and see how it behaves

Eran
Make sure you have read the HOW TO POST thread
User avatar
eranif
CodeLite Plugin
Posts: 6367
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite Debugger Memory Bug

Post by eranif »

This is now fixed in git head
The bug was not shown on Linux because it does not use backslashes "\"
In your case, the "word' ended with a "\"" which confused the debugger output parser so it simply stopped parsing

You should also note that codelite and codeblocks are using a completely different GDB approach, while codeblocks is using the classic GDB CLI, codelite is using the GDB / MI calls which provides more flexibility

I have also took your advise and updated the memory view tab. You can now control how many columns will be displayed on a single line and the amount of memory to display is selected using a choice control
Attached is a screenshot:
1.png
BTW: You should know that the main memory display area is editable, i.e. you can change the memory value and click on the "Update" button to apply your memory changes. This allows you an easy way to alter memory in your debuggee process


Eran
You do not have the required permissions to view the files attached to this post.
Make sure you have read the HOW TO POST thread
wwashington
CodeLite Curious
Posts: 8
Joined: Tue Dec 31, 2013 12:33 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite Debugger Memory Bug

Post by wwashington »

Very Cool !! Hope you release a bug fix version for Win32 Installer soon. It will take a long time
for compling a big project. So people would like to pay Author for their hard work and support.
User avatar
eranif
CodeLite Plugin
Posts: 6367
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite Debugger Memory Bug

Post by eranif »

wwashington wrote:Very Cool !! Hope you release a bug fix version for Win32 Installer soon
We plan on releasing codelite 5.4 in the coming 2 weeks

Eran
Make sure you have read the HOW TO POST thread
wwashington
CodeLite Curious
Posts: 8
Joined: Tue Dec 31, 2013 12:33 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite Debugger Memory Bug

Post by wwashington »

Can you send me a Bug Fix zip file(does NOT need Installer yet)? Then I can replace the file.
If the forum attachment size is big enough, you can also post the Bug Fix exe/dll zip here.
Or can you create a customer download area? The customer area is for internal test or non-
release bug fix only. You can consider something like Alcohol, retail version download only
in the customer area, the public website can only download trial/free, never registered. If
people see the difference directly and feel it's good enough, I think more users will pay.

I use thousands of software, but only paid three of them. The reason is that they are cool.

1) Alcohol 120%, http://www.alcohol-software.com/ , here has a customer download area.
2) Hiew, http://www.hiew.ru/ , super disassembler & assembler, the web is really simple.
3) CodeLite + wxCrafter, http://www.codelite.org/ , I hope it become a Lazarus C++ tool.
wwashington
CodeLite Curious
Posts: 8
Joined: Tue Dec 31, 2013 12:33 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite Debugger Memory Bug

Post by wwashington »

The simplest way is to send me a Bug Fix mail with the latest build attachment. I don't need
a full package now but only replacement. You can find out and verify my email in the Invoice
for CodeLite / wxCrafter , doc5_134.pdf and doc5_135.pdf , which sent by Smart Koders.

BTW: Wish you and the CodeLite Dev Team a Happy New Year! Wish more people will pay...
User avatar
eranif
CodeLite Plugin
Posts: 6367
Joined: Wed Feb 06, 2008 9:29 pm
Genuine User: Yes
IDE Question: C++
Contact:

Re: CodeLite Debugger Memory Bug

Post by eranif »

See my reply in email

Eran
Make sure you have read the HOW TO POST thread
Post Reply