Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Other Features Wishlist and/or Bugs » Problem with custom 32-bit compilers
Problem with custom 32-bit compilers [message #58509] Sat, 04 June 2022 15:49 Go to next message
neo_in_matrix is currently offline  neo_in_matrix
Messages: 24
Registered: May 2022
Promising Member
After experimenting with TheIDE for a few days, I found a few quite annoying small problems (though in general it's great).

It does not work well with 32-bit compilers other than the bundled/builtin CLANG 32-bit one. I have various small problems. Here are some of the most prominent:

* It does not build a package with WINOWS RC file if use a 32-bit compiler other than the bundled 32-bit CLANG.

* Debugging experience (32-bit) is aweful - it soemtimes works sometimes it does not. When I hit F5 to start debugging, there is a dark purple-ish tooltip quickly appeared and disappeared at the right bottom corner of TheIDE main window, something like "There is no symbolic information". However, if I manually start "gdb program.exe", gdb states there it loads debugging information correctly and I can set breakpoints as I want.

* For the following simple program:
#include <iostream>
using namespace std;

int main(int argc, const char *argv[])
{
	for (int i = 0; i < argc; i++)
		cout << i << ":" << argv[i] << endl;
	return 0;
}

If I set breakpoint on the "for" loop line, the debugger won't break. However, it correctly breaks if I set breakpoint at the "return 0" line.

Note - I am on Windows platform (Windows 8 Pro). I have the following compilers (build methods) configured:
MinGW gcc 8.1.0
MSYS2 gcc version 12.1.0
Winlibs gcc version 11.3.0

EDIT:
TheIDE won't stop at the breakpoint, even though the log shows gdb correctly sets breakpiont.
----- SQLite ( MAIN GCC DEBUG DEBUG_FULL WIN32 )
cd C:\Build\test\upp\purec\SQLite
C:\Build\test\upp\purec\out\purec\winlibs32.Debug.Debug_Full.Noblitz\SQLite.exe (2328229 B) is up to date.

OK. (0:00.04)
gdb C:\Build\test\upp\purec\out\purec\winlibs32.Debug.Debug_Full.Noblitz\SQLite.exe
Command: set prompt <u++dbg-q98klwr835f427>
GNU gdb (GDB for MinGW-W64 i686, built by Brecht Sanders) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "i686-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from C:\Build\test\upp\purec\out\purec\winlibs32.Debug.Debug_Full.Noblitz\SQLite.exe...
(gdb) 
Time of `set prompt <u++dbg-q98klwr835f427>` 118.128 ms
=========== Result:
GNU gdb (GDB for MinGW-W64 i686, built by Brecht Sanders) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "i686-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from C:\Build\test\upp\purec\out\purec\winlibs32.Debug.Debug_Full.Noblitz\SQLite.exe...
(gdb) 
===================
Command: set disassembly-flavor intel

Time of `set disassembly-flavor intel` 7.246 ms
=========== Result:

===================
Command: set exec-done-display off

Time of `set exec-done-display off` 5.9 ms
=========== Result:

===================
Command: set annotate 1

Time of `set annotate 1` 8.968 ms
=========== Result:

===================
Command: set height 0

Time of `set height 0` 8.578 ms
=========== Result:

===================
Command: set width 0

Time of `set width 0` 8.066 ms
=========== Result:

===================
Command: set confirm off

Time of `set confirm off` 8.447 ms
=========== Result:

===================
Command: set print asm-demangle

Time of `set print asm-demangle` 8.582 ms
=========== Result:

===================
Command: set print static-members off

Time of `set print static-members off` 8.79 ms
=========== Result:

===================
Command: set print vtbl off

Time of `set print vtbl off` 8.238 ms
=========== Result:

===================
Command: set print repeat 0

Time of `set print repeat 0` 8.915 ms
=========== Result:

===================
Command: set print null-stop

Time of `set print null-stop` 8.335 ms
=========== Result:

===================
Command: set new-console on

Time of `set new-console on` 8.521 ms
=========== Result:

===================
Fast Command: b C:/Build/test/upp/purec/SQLite/shell.c:22936
Breakpoint 1 at 0x42b435: file C:\Build\test\upp\purec\SQLite\shell.c, line 22936.

Result: Breakpoint 1 at 0x42b435: file C:\Build\test\upp\purec\SQLite\shell.c, line 22936.

Command: start
Temporary breakpoint 2 at 0x42b435: file C:\Build\test\upp\purec\SQLite\shell.c, line 22936.
Starting program: C:\Build\test\upp\purec\out\purec\winlibs32.Debug.Debug_Full.Noblitz\SQLite.exe 

Breakpoint 1, main (argc=1, argv=0x1320dc0) at C:\Build\test\upp\purec\SQLite\shell.c:22936
C:\Build\test\upp\purec\SQLite\shell.c:22936:705962:beg:0x139b435

Time of `start` 187.488 ms
=========== Result:
Temporary breakpoint 2 at 0x42b435: file C:\Build\test\upp\purec\SQLite\shell.c, line 22936.
Starting program: C:\Build\test\upp\purec\out\purec\winlibs32.Debug.Debug_Full.Noblitz\SQLite.exe 

Breakpoint 1, main (argc=1, argv=0x1320dc0) at C:\Build\test\upp\purec\SQLite\shell.c:22936
C:\Build\test\upp\purec\SQLite\shell.c:22936:705962:beg:0x139b435

===================
Command: info inferior
  Num  Description       Connection           Executable        
* 1    process 4956      1 (native)           C:\Build\test\upp\purec\out\purec\winlibs32.Debug.Debug_Full.Noblitz\
    SQLite.exe 

Time of `info inferior` 15.824 ms
=========== Result:
  Num  Description       Connection           Executable        
* 1    process 4956      1 (native)           C:\Build\test\upp\purec\out\purec\winlibs32.Debug.Debug_Full.Noblitz\
    SQLite.exe 

===================
Command: continue
Continuing.
[Inferior 1 (process 4956) exited normally]

Time of `continue` 1.353936 s
=========== Result:
Continuing.
[Inferior 1 (process 4956) exited normally]

===================
Fast Command: frame
No stack.

Result: No stack.

[Updated on: Thu, 09 June 2022 05:21]

Report message to a moderator

Re: Problem with custom 32-bit compilers [message #58511 is a reply to message #58509] Sat, 04 June 2022 19:25 Go to previous messageGo to next message
neo_in_matrix is currently offline  neo_in_matrix
Messages: 24
Registered: May 2022
Promising Member
Just found out that CLANG.Debug.Debug_Full.Noblitz has program.pdb but other compilers don't.

Here are my configured compilers:
index.php?t=getfile&id=6605&private=0
  • Attachment: u++bm.PNG
    (Size: 47.39KB, Downloaded 127 times)

[Updated on: Sat, 04 June 2022 19:29]

Report message to a moderator

Re: Problem with custom 32-bit compilers [message #58535 is a reply to message #58509] Thu, 09 June 2022 16:04 Go to previous messageGo to next message
neo_in_matrix is currently offline  neo_in_matrix
Messages: 24
Registered: May 2022
Promising Member
It seems TheIDE always ignores the fist breakpoint because I can successfuly manually debug mytest.exe.

Again, I want to emphasize that I have no problems with CLANG 32-bit when debugging - all breakpoints are working as expected.

index.php?t=getfile&id=6612&private=0
  • Attachment: u++gdbbp.PNG
    (Size: 88.22KB, Downloaded 87 times)

[Updated on: Thu, 09 June 2022 16:06]

Report message to a moderator

Re: Problem with custom 32-bit compilers [message #58656 is a reply to message #58535] Sun, 10 July 2022 17:04 Go to previous message
mirek is currently offline  mirek
Messages: 13690
Registered: November 2005
Ultimate Member
neo_in_matrix wrote on Thu, 09 June 2022 16:04

Again, I want to emphasize that I have no problems with CLANG 32-bit when debugging - all breakpoints are working as expected.


Why do not you just use clang 32?

It is a bit hard to support all existing toolchains in windows in the debugger, so let us say we only support bundled clang (and I see little reason to use anything else) and as backup/alternative visual c++ compiler.

mingw is not very suitable for any real development because linker is too slow.

Mirek
Previous Topic: Minor issues in Navigator bar
Next Topic: Build 16306 throws ScatterCtrl errors
Goto Forum:
  


Current Time: Sun Sep 25 16:51:40 CEST 2022

Total time taken to generate the page: 0.00762 seconds