Nice, I didn't know about that Debug Output window. I enabled Dwarf, and this is what it returned in the debug window. Seems it can't insert breakpoints, even though I didn't define any. It seems it doesn't recognize the exe format somehow.
I also investigated 64-bit mingw and AFAICT there is only one version of it, and it supports both 32 and 64-bits.
<-file-exec-and-symbols "C:/Users/Alan/Documents/MarketPoint/Exe/MBAnalyzer/MBAnalyzer64.exe">
^done
(gdb)
<-gdb-set language pascal>
^done
(gdb)
<-environment-cd .>
^done
(gdb)
<-environment-cd "C:/Users/Alan/Documents/MarketPoint/Exe/MBAnalyzer/">
^done
(gdb)
<-data-evaluate-expression FPC_THREADVAR_RELOCATE_PROC>
&"No symbol \"FPC_THREADVAR_RELOCATE_PROC\" in current context.\n"
^error,msg="No symbol \"FPC_THREADVAR_RELOCATE_PROC\" in current context."
(gdb)
<info functions FPC_CPUINIT>
&"info functions FPC_CPUINIT\n"
~"All functions matching regular expression \"FPC_CPUINIT\":\n"
~"\n"
~"Non-debugging symbols:\n"
~"0x0000000000002f50 SYSTEM_FPC_CPUINIT\n"
^done
(gdb)
<-exec-arguments >
^done
(gdb)
<set width 50000>
&"set width 50000\n"
^done
(gdb)
<-gdb-set language pascal>
^done
(gdb)
<info address main>
&"info address main\n"
&"invalid dwarf2 offset 6443956\n"
^error,msg="invalid dwarf2 offset 6443956"
(gdb)
<-break-insert -t main>
&"invalid dwarf2 offset 6443956\n"
^done
(gdb)
<ptype TObject>
&"ptype TObject\n"
&"invalid dwarf2 offset 8449350\n"
^error,msg="invalid dwarf2 offset 8449350"
(gdb)
<info address FPC_RAISEEXCEPTION>
&"info address FPC_RAISEEXCEPTION\n"
~"Symbol \"FPC_RAISEEXCEPTION\" is at 0xe050 in a file compiled without debugging.\n"
^done
(gdb)
<-break-insert *57424>
^done,bkpt={number="6",type="breakpoint",disp="keep",enabled="y",addr="0x000000000000e050",at="",times="0"}
(gdb)
<info address FPC_BREAK_ERROR>
&"info address FPC_BREAK_ERROR\n"
~"Symbol \"FPC_BREAK_ERROR\" is at 0x104a0 in a file compiled without debugging.\n"
^done
(gdb)
<-break-insert *66720>
^done,bkpt={number="7",type="breakpoint",disp="keep",enabled="y",addr="0x00000000000104a0",at="",times="0"}
(gdb)
<info address FPC_RUNERROR>
&"info address FPC_RUNERROR\n"
~"Symbol \"FPC_RUNERROR\" is at 0x105d0 in a file compiled without debugging.\n"
^done
(gdb)
<-break-insert *67024>
^done,bkpt={number="8",type="breakpoint",disp="keep",enabled="y",addr="0x00000000000105d0",at="",times="0"}
(gdb)
<info file>
&"info file\n"
~"Symbols from \"C:/Users/Alan/Documents/MarketPoint/Exe/MBAnalyzer/MBAnalyzer64.exe\".\n"
~"Local exec file:\n"
~"\t`C:/Users/Alan/Documents/MarketPoint/Exe/MBAnalyzer/MBAnalyzer64.exe', file type pei-x86-64.\n"
~"\tEntry point: 0x100015e80\n"
~"\t0x0000000100001000 - 0x00000001003d7100 is .text\n"
~"\t0x00000001003d8000 - 0x000000010052e800 is .data\n"
~"\t0x000000010052f000 - 0x0000000100537490 is .bss\n"
~"\t0x0000000100538000 - 0x000000010053bd54 is .idata\n"
~"\t0x000000010053c000 - 0x00000001005a8be8 is .rsrc\n"
^done
(gdb)
<-break-insert -f foo>
&"Function \"foo\" not defined.\n"
^done,bkpt={number="9",type="breakpoint",disp="keep",enabled="y(p)",addr="<PENDING>",pending="foo",times="0"}
(gdb)
<-break-delete 9>
^done
(gdb)
<-exec-run>
^running
(gdb)
&"Warning:\n"
&"Cannot insert breakpoint 1.\n"
&"Error accessing memory address 0x2c20: Input/output error.\n"
&"Cannot insert breakpoint 6.\n"
&"Error accessing memory address 0xe050: Input/output error.\n"
&"\n"
^error,msg="Warning:\nCannot insert breakpoint 1.\nError accessing memory address 0x2c20: Input/output error.\nCannot insert breakpoint 6.\nError accessing memory address 0xe050: Input/output error.\n"
(gdb)
<info program>
&"info program\n"
~"\tUsing the running image of child thread 420.0xd4c.\n"
~"Program stopped at 0x0.\n"
~"Type \"info stack\" or \"info registers\" for more information.\n"
^done
(gdb)
<-exec-continue>
^running
(gdb)
&"Warning:\n"
&"Cannot insert breakpoint 1.\n"
&"Error accessing memory address 0x2c20: Input/output error.\n"
&"Cannot insert breakpoint 6.\n"
&"Error accessing memory address 0xe050: Input/output error.\n"
&"\n"
^error,msg="Warning:\nCannot insert breakpoint 1.\nError accessing memory address 0x2c20: Input/output error.\nCannot insert breakpoint 6.\nError accessing memory address 0xe050: Input/output error.\n"
(gdb)