Recent

Author Topic: Windows 7 64bit and gdb  (Read 27479 times)

Kunstbanause

  • New Member
  • *
  • Posts: 47
Windows 7 64bit and gdb
« on: March 09, 2010, 03:58:35 pm »
Hi,

I just got the 64bit gdb.exe from the Lazarus svn repository.
I'm using Lazarus 0.9.29 Rev. 23891 with fpc 2.5.1 Rev. 14996

I'm not able to debug my projects out of Lazarus:
I start the program, the title of the main Lazarus window changes to "Lazarus IDE v.0.9.29 - $PROJECTNAME (Debugging...)" but my program does not show up (using a 32bit Lazarus with an 32bit gdb works fine).

When I try to run the gdb from commandline with my executable as parameter it shows up after I type "run" into the gdb console.

Here is the output of the 64bit gdb:
Quote
> gdb -silent -i mi -nx project1.exe
&"\nwarning: "
&"A handler for the OS ABI \"Cygwin\" is not built into this configuration\nof GDB.  Attempting to continue with the default i386:x86-64 settings.\n"
&"\n"
(gdb)
run
&"run\n"
~"Starting program: C:\\Projects\\Test/project1.exe \n"
~"\n"
~"Program exited normally.\n"
^done
(gdb)
quit
&"quit\n"

and this is the 32bit gdb:
Quote
> gdb -silent -i mi -nx project1.exe
(gdb)
run
&"run\n"
~"Starting program: C:\\Projects\\Test/project1.exe \n"
~"[New thread 3332.0x92c]\n"
&"Error: dll starting at 0x770d0000 not found.\n"
&"Error: dll starting at 0x76080000 not found.\n"
&"Error: dll starting at 0x770d0000 not found.\n"
&"Error: dll starting at 0x76fd0000 not found.\n"
~"\n"
~"Program exited normally.\n"
^done
(gdb)
quit
&"quit\n"

maybe this helps.

Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2645
Re: Windows 7 64bit and gdb
« Reply #1 on: March 09, 2010, 10:21:15 pm »
Don't use the cygwin version of gdb, but use the mingw version. The cygwin version doesnt work with lazarus.
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

Kunstbanause

  • New Member
  • *
  • Posts: 47
Re: Windows 7 64bit and gdb
« Reply #2 on: March 10, 2010, 04:40:16 am »
Don't use the cygwin version of gdb, but use the mingw version. The cygwin version doesnt work with lazarus.

Then why is the cygwin version in the lazarus svn repository?

Vincent Snijders

  • Administrator
  • Hero Member
  • *
  • Posts: 2661
    • My Lazarus wiki user page
Re: Windows 7 64bit and gdb
« Reply #3 on: March 10, 2010, 07:45:53 am »
I experimented with newer gdb version in revision 23902-23904.

what is the version of your gdb? (gdb --version)

Kunstbanause

  • New Member
  • *
  • Posts: 47
Re: Windows 7 64bit and gdb
« Reply #4 on: March 10, 2010, 08:09:28 am »
I experimented with newer gdb version in revision 23902-23904.

what is the version of your gdb? (gdb --version)

Quote
> gdb.exe --version
GNU gdb 6.7.50.20080109-cvs
Copyright (C) 2008 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 "x86_64-pc-mingw32".

my gdb.exe is from a revision somwhere before 23874 has a file size of 17698670 bytes

BTW:
cygwin isn't mentioned here.
But when I try to debug a file:

Quote
> gdb.exe project1.exe
GNU gdb 6.7.50.20080109-cvs
Copyright (C) 2008 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 "x86_64-pc-mingw32"...

warning: A handler for the OS ABI "Cygwin" is not built into this configuration
of GDB.  Attempting to continue with the default i386:x86-64 settings.

(gdb)

Why does GDB mentions cygwin, when I try to debug an executable that was compiled out of Lazarus (it's just a newly created project, directly compiled without any changes in both source code and compiler settings)

Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2645
Re: Windows 7 64bit and gdb
« Reply #5 on: March 10, 2010, 09:13:02 am »
If you start debugging using the 64bit gdb, what is the output of the debugger output window ?
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

Kunstbanause

  • New Member
  • *
  • Posts: 47
Re: Windows 7 64bit and gdb
« Reply #6 on: March 10, 2010, 09:45:01 am »
I hope this is what you wnat to see:

Quote
> gdb project1.exe
GNU gdb 6.7.50.20080109-cvs
Copyright (C) 2008 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 "x86_64-pc-mingw32"...

warning: A handler for the OS ABI "Cygwin" is not built into this configuration
of GDB.  Attempting to continue with the default i386:x86-64 settings.

(gdb) run
Starting program: C:\Test/project1.exe

Program exited normally.
(gdb)

Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2645
Re: Windows 7 64bit and gdb
« Reply #7 on: March 10, 2010, 07:17:19 pm »
nope :(

You can find the debugger output window here:

[menu] -> view -> Debug windows -> Debug output
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

Kunstbanause

  • New Member
  • *
  • Posts: 47
Re: Windows 7 64bit and gdb
« Reply #8 on: March 10, 2010, 10:08:14 pm »
Here it is:

Quote
(gdb)

<-gdb-set confirm off>
^done

(gdb)

<-gdb-set new-console off>
^done

(gdb)

<-gdb-version>
~"GNU gdb 6.7.50.20080109-cvs\n"

~"Copyright (C) 2008 Free Software Foundation, Inc.\n"

~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"

~"This is free software: you are free to change and redistribute it.\n"

~"There is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\n"

~"and \"show warranty\" for details.\n"

~"This GDB was configured as \"x86_64-pc-mingw32\".\n"

^done

(gdb)

<-gdb-version>
~"GNU gdb 6.7.50.20080109-cvs\n"

~"Copyright (C) 2008 Free Software Foundation, Inc.\n"

~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"

~"This is free software: you are free to change and redistribute it.\n"

~"There is NO WARRANTY, to the extent permitted by law.  Type \"show copying\"\n"

~"and \"show warranty\" for details.\n"

~"This GDB was configured as \"x86_64-pc-mingw32\".\n"

^done

(gdb)

<-gdb-set env ALLUSERSPROFILE=C:\ProgramData>
^done

(gdb)

<-gdb-set env APPDATA=C:\Users\marc\AppData\Roaming>
^done

(gdb)

<-gdb-set env CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files>
^done

(gdb)

<-gdb-set env CommonProgramFiles=C:\Program Files\Common Files>
^done

(gdb)

<-gdb-set env COMPUTERNAME=PANTHER>
^done

(gdb)

<-gdb-set env ComSpec=C:\Windows\system32\cmd.exe>
^done

(gdb)

<-gdb-set env FP_NO_HOST_CHECK=NO>
^done

(gdb)

<-gdb-set env HOMEDRIVE=C:>
^done

(gdb)

<-gdb-set env HOMEPATH=\Users\marc>
^done

(gdb)

<-gdb-set env LOCALAPPDATA=C:\Users\marc\AppData\Local>
^done

(gdb)

<-gdb-set env LOGONSERVER=\\PANTHER>
^done

(gdb)

<-gdb-set env NUMBER_OF_PROCESSORS=2>
^done

(gdb)

<-gdb-set env OS=Windows_NT>
^done

(gdb)

<-gdb-set env Path=L:\fpc\bin\i386-win32;L:\FPTools\binw32;L:\Perl64\site\bin;L:\Perl64\bin;C:\Program Files (x86)\Nokia\PC Connectivity Solution\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;L:\FPTools\binw64;L:\fpc\bin\x86_64-win64;E:\MRTools\LinuxTools;E:\MRTools\UnxUtils\usr\local\wbin;>
^done

(gdb)

<-gdb-set env PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC>
^done

(gdb)

<-gdb-set env PROCESSOR_ARCHITECTURE=AMD64>
^done

(gdb)

<-gdb-set env PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 15 Stepping 11, GenuineIntel>
^done

(gdb)

<-gdb-set env PROCESSOR_LEVEL=6>
^done

(gdb)

<-gdb-set env PROCESSOR_REVISION=0f0b>
^done

(gdb)

<-gdb-set env ProgramData=C:\ProgramData>
^done

(gdb)

<-gdb-set env ProgramFiles(x86)=C:\Program Files (x86)>
^done

(gdb)

<-gdb-set env ProgramFiles=C:\Program Files>
^done

(gdb)

<-gdb-set env PROMPT=$P$G>
^done

(gdb)

<-gdb-set env PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\>
^done

(gdb)

<-gdb-set env PUBLIC=C:\Users\Public>
^done

(gdb)

<-gdb-set env SC13_XMLFILENAME=C:\Users\marc\AppData\Roaming\SpeedProject\SpeedCommander 13\SpeedCommander.xml>
^done

(gdb)

<-gdb-set env SCDIR=C:\Program Files\SpeedProject\SpeedCommander 13>
^done

(gdb)

<-gdb-set env SystemDrive=C:>
^done

(gdb)

<-gdb-set env SystemRoot=C:\Windows>
^done

(gdb)

<-gdb-set env TEMP=C:\Users\marc\AppData\Local\Temp>
^done

(gdb)

<-gdb-set env TMP=C:\Users\marc\AppData\Local\Temp>
^done

(gdb)

<-gdb-set env USERDOMAIN=panther>
^done

(gdb)

<-gdb-set env USERNAME=marc>
^done

(gdb)

<-gdb-set env USERPROFILE=C:\Users\marc>
^done

(gdb)

<-gdb-set env VS100COMNTOOLS=L:\Microsoft Visual Studio 10.0\Common7\Tools\>
^done

(gdb)

<-gdb-set env windir=C:\Windows>
^done

(gdb)

<-file-exec-and-symbols "L:/Projekte/Test/project1.exe">
&"warning: A handler for the OS ABI \"Cygwin\" is not built into this configuration\nof GDB.  Attempting to continue with the default i386:x86-64 settings.\n"

&"\n"

^done

(gdb)

<-environment-cd .>
^done

(gdb)

<-environment-cd "L:/Projekte/Test/">
^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"

~"0x0000000000002990  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"

~"Symbol \"main\" is a function at address 0x2880.\n"

^done

(gdb)

<-break-insert -t *10368>
^done,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x0000000000002880",func="main",file="roject1.lpr",line="15",times="0"}

(gdb)

<ptype TObject>
&"ptype TObject\n"

~"type = TOBJECT = class \n"

~"  public\n"

~"    constructor CREATE (TOBJECT, POINTER) : ^TOBJECT;\n"

~"    destructor  ~DESTROY (TOBJECT, POINTER); virtual;\n"

~"    function  NEWINSTANCE (unnamedtype) : ^TOBJECT; virtual;\n"

~"    procedure FREEINSTANCE (TOBJECT); virtual;\n"

~"    function  SAFECALLEXCEPTION (TOBJECT, TOBJECT, POINTER) : HRESULT; virtual;\n"

~"    procedure DEFAULTHANDLER (TOBJECT, var); virtual;\n"

~"    procedure FREE (TOBJECT);\n"

~"    function  INITINSTANCE (unnamedtype, OINTER) : ^TOBJECT;\n"

~"    procedure CLEANUPINSTANCE (TOBJECT);\n"

~"    function  CLASSTYPE (unnamedtype) : record <unknown>;\n"

~"    function  CLASSINFO (unnamedtype) : POINTER;\n"

~"    function  CLASSNAME (unnamedtype, SHORTSTRING) : SHORTSTRING;\n"

~"    function  CLASSNAMEIS (unnamedtype, SHORTSTRING) : BOOLEAN;\n"

~"    function  CLASSPARENT (unnamedtype) : record <unknown>;\n"

~"    function  INSTANCESIZE (unnamedtype) : INT64;\n"

~"    function  INHERITSFROM (unnamedtype, CLASS, ) : BOOLEAN;\n"

~"    function  STRINGMESSAGETABLE (unnamedtype) : record <unknown>;\n"

~"    function  METHODADDRESS (unnamedtype, SHORTSTRING) : POINTER;\n"

~"    function  METHODNAME (unnamedtype, SHORTSTRING, OINTER, ) : SHORTSTRING;\n"

~"    function  FIELDADDRESS (TOBJECT, SHORTSTRING) : POINTER;\n"

~"    procedure AFTERCONSTRUCTION (TOBJECT); virtual;\n"

~"    procedure BEFOREDESTRUCTION (TOBJECT); virtual;\n"

~"    procedure DEFAULTHANDLERSTR (TOBJECT, var); virtual;\n"

~"    procedure DISPATCH (TOBJECT, var); virtual;\n"

~"    procedure DISPATCHSTR (TOBJECT, var); virtual;\n"

~"    function  GETINTERFACE (TOBJECT, TGUID, out) : BOOLEAN;\n"

~"    function  GETINTERFACEBYSTR (TOBJECT, SHORTSTRING, ut, ) : BOOLEAN;\n"

~"    function  GETINTERFACEENTRY (unnamedtype, GUID) : record <unknown>;\n"

~"    function  GETINTERFACEENTRYBYSTR (unnamedtype, SHORTSTRING) : record <unknown>;\n"

~"    function  GETINTERFACETABLE (unnamedtype) : record <unknown>;\n"

~"    function  UNITNAME (unnamedtype) : record <unknown>;\n"

~"    function  EQUALS (TOBJECT, TOBJECT) : BOOLEAN; virtual;\n"

~"    function  GETHASHCODE (TOBJECT) : INT64; virtual;\n"

~"    function  TOSTRING (TOBJECT) : record <unknown>; virtual;\n"

~"end\n"

^done

(gdb)

<info address FPC_RAISEEXCEPTION>
&"info address FPC_RAISEEXCEPTION\n"

~"Symbol \"FPC_RAISEEXCEPTION\" is at 0xcdd0 in a file compiled without debugging.\n"

^done

(gdb)

<-break-insert *52688>
^done,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x000000000000cdd0",at="",times="0"}

(gdb)

<info address FPC_BREAK_ERROR>
&"info address FPC_BREAK_ERROR\n"

~"Symbol \"FPC_BREAK_ERROR\" is at 0xeea0 in a file compiled without debugging.\n"

^done

(gdb)

<-break-insert *61088>
^done,bkpt={number="3",type="breakpoint",disp="keep",enabled="y",addr="0x000000000000eea0",at="",times="0"}

(gdb)

<info address FPC_RUNERROR>
&"info address FPC_RUNERROR\n"

~"Symbol \"FPC_RUNERROR\" is at 0xefd0 in a file compiled without debugging.\n"

^done

(gdb)

<-break-insert *61392>
^done,bkpt={number="4",type="breakpoint",disp="keep",enabled="y",addr="0x000000000000efd0",at="",times="0"}

(gdb)

<info file>
&"info file\n"

~"Symbols from \"L:/Projekte/Test/project1.exe\".\n"

~"Local exec file:\n"

~"\t`L:/Projekte/Test/project1.exe', file type pei-x86-64.\n"

~"\tEntry point: 0x100014280\n"

~"\t0x0000000100001000 - 0x000000010015b3d0 is .text\n"

~"\t0x000000010015c000 - 0x00000001001c02e0 is .data\n"

~"\t0x00000001001c1000 - 0x00000001001c8100 is .bss\n"

~"\t0x00000001001c9000 - 0x00000001001cc618 is .idata\n"

~"\t0x00000001001cd000 - 0x00000001001f0850 is .rsrc\n"

^done

(gdb)

<-break-insert -f foo>
&"Function \"foo\" not defined.\n"

^done,bkpt={number="5",type="breakpoint",disp="keep",enabled="y(p)",addr="<PENDING>",pending="foo",times="0"}

(gdb)

<-break-delete 5>
^done

(gdb)

<-exec-run>
^running

(gdb)

&"Warning:\n"

&"Cannot insert breakpoint 1.\n"

&"Error accessing memory address 0x2880: Input/output error.\n"

&"Cannot insert breakpoint 2.\n"

&"Error accessing memory address 0xcdd0: Input/output error.\n"

&"Cannot insert breakpoint 3.\n"

&"Error accessing memory address 0xeea0: Input/output error.\n"

&"Cannot insert breakpoint 4.\n"

&"Error accessing memory address 0xefd0: Input/output error.\n"

&"\n"

^error,msg="Warning:\nCannot insert breakpoint 1.\nError accessing memory address 0x2880: Input/output error.\nCannot insert breakpoint 2.\nError accessing memory address 0xcdd0: Input/output error.\nCannot insert breakpoint 3.\nError accessing memory address 0xeea0: Input/output error.\nCannot insert breakpoint 4.\nError accessing memory address 0xefd0: Input/output error.\n"

(gdb)

<info program>
&"info program\n"

~"\tUsing the running image of child thread 4352.0x15dc.\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 0x2880: Input/output error.\n"

&"Cannot insert breakpoint 2.\n"

&"Error accessing memory address 0xcdd0: Input/output error.\n"

&"Cannot insert breakpoint 3.\n"

&"Error accessing memory address 0xeea0: Input/output error.\n"

&"Cannot insert breakpoint 4.\n"

&"Error accessing memory address 0xefd0: Input/output error.\n"

&"\n"

^error,msg="Warning:\nCannot insert breakpoint 1.\nError accessing memory address 0x2880: Input/output error.\nCannot insert breakpoint 2.\nError accessing memory address 0xcdd0: Input/output error.\nCannot insert breakpoint 3.\nError accessing memory address 0xeea0: Input/output error.\nCannot insert breakpoint 4.\nError accessing memory address 0xefd0: Input/output error.\n"

(gdb)

<info program>
&"info program\n"

~"\tUsing the running image of child thread 4352.0x15dc.\n"

~"Program stopped at 0x0.\n"

~"Type \"info stack\" or \"info registers\" for more information.\n"

^done

(gdb)

<-symbol-list-lines L:\Projekte\Test\unit1.pas>
^done,lines=[{pc="0x0000000000028960",line="26"}]

(gdb)

<-exec-continue>
^running

(gdb)

&"Warning:\n"

&"Cannot insert breakpoint 1.\n"

&"Error accessing memory address 0x2880: Input/output error.\n"

&"Cannot insert breakpoint 2.\n"

&"Error accessing memory address 0xcdd0: Input/output error.\n"

&"Cannot insert breakpoint 3.\n"

&"Error accessing memory address 0xeea0: Input/output error.\n"

&"Cannot insert breakpoint 4.\n"

&"Error accessing memory address 0xefd0: Input/output error.\n"

&"\n"

^error,msg="Warning:\nCannot insert breakpoint 1.\nError accessing memory address 0x2880: Input/output error.\nCannot insert breakpoint 2.\nError accessing memory address 0xcdd0: Input/output error.\nCannot insert breakpoint 3.\nError accessing memory address 0xeea0: Input/output error.\nCannot insert breakpoint 4.\nError accessing memory address 0xefd0: Input/output error.\n"

(gdb)



Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2645
Re: Windows 7 64bit and gdb
« Reply #9 on: March 11, 2010, 09:38:51 am »
From your output:
Code: [Select]
...
<info address main>
&"info address main\n"

~"Symbol \"main\" is a function at address 0x2880.\n"

^done

(gdb)

<-break-insert -t *10368>
^done,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x0000000000002880",func="main",file="roject1.lpr",line="15",times="0"}

...

~"\tEntry point: 0x100014280\n"

~"\t0x0000000100001000 - 0x000000010015b3d0 is .text\n"

...

&"Cannot insert breakpoint 1.\n"

&"Error accessing memory address 0x2880: Input/output error.\n"


whoops, this might be a lazarus64 issue or something of gdb. It looks like adresses are truncated.

See also this message:
http://www.lazarus.freepascal.org/index.php/topic,8669.msg41884.html#msg41884

in short (don't know if you need different gdb)
Download the gdb mentioned here: http://bugs.freepascal.org/view.php?id=15587

And use the -WB compiler option mentioned here: http://bugs.freepascal.org/view.php?id=15692
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

Kunstbanause

  • New Member
  • *
  • Posts: 47
Re: Windows 7 64bit and gdb
« Reply #10 on: March 11, 2010, 09:56:25 am »
hey thanks.

That did the trick.

Finally I can debug my projects in 64bit again.

Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2645
Re: Windows 7 64bit and gdb
« Reply #11 on: March 11, 2010, 01:19:29 pm »
For our info, what gdb version do you use ?
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

Kunstbanause

  • New Member
  • *
  • Posts: 47
Re: Windows 7 64bit and gdb
« Reply #12 on: March 11, 2010, 01:42:36 pm »
I used the one mentioned in the link (http://bugs.freepascal.org/view.php?id=15587):

Quote
> gdb --version
GNU gdb (GDB) 7.0.1
Copyright (C) 2009 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 "x86_64-w64-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.

Bernd

  • Newbie
  • Posts: 3
    • SoftVision Development
Re: Windows 7 64bit and gdb
« Reply #13 on: March 11, 2010, 01:59:35 pm »
Two things to debug on x64 / Windows 7
- Update your GDB
- use {$IMAGEBASE $400000} in your code (just for debugging, not for the release version).

That's all. It works perfect for me.
42 - The Answer to Life, the Universe, and Everything :-)

Kunstbanause

  • New Member
  • *
  • Posts: 47
Re: Windows 7 64bit and gdb
« Reply #14 on: March 11, 2010, 02:44:17 pm »
Two things to debug on x64 / Windows 7
- Update your GDB
- use {$IMAGEBASE $400000} in your code (just for debugging, not for the release version).

That's all. It works perfect for me.

Is it possible to use $IMAGEBASE in a random unit I uses in my project or do I have to write it in my .lpi file?
I didn#t get it work if it was outside the .lpi file.

 

TinyPortal © 2005-2018