diff --git a/.gitattributes b/.gitattributes index 4935afab5b..0f625f3c52 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3653,6 +3653,7 @@ debugger/fpdebug/dbgsymbols.pas svneol=native#text/pascal debugger/fpdebug/dbgutil.pp svneol=native#text/pascal debugger/fpdebug/dbgwinextra.pp svneol=native#text/pascal debugger/fpdebug/fpd/README.txt svneol=native#text/plain +debugger/fpdebug/fpd/fpd.lpi svneol=native#text/pascal debugger/fpdebug/fpd/fpd.lpr svneol=native#text/pascal debugger/fpdebug/fpd/fpdcommand.pas svneol=native#text/pascal debugger/fpdebug/fpd/fpdglobal.pas svneol=native#text/pascal diff --git a/debugger/fpdebug/dbgsymbols.pas b/debugger/fpdebug/dbgsymbols.pas index e0697b2cdc..ed91941381 100644 --- a/debugger/fpdebug/dbgsymbols.pas +++ b/debugger/fpdebug/dbgsymbols.pas @@ -38,7 +38,7 @@ unit DbgSymbols; interface uses - Windows, Classes, SysUtils, DbgClasses, DbgWinExtra, DbgPETypes, DbgDwarf; + Windows, Classes, SysUtils, DbgClasses, DbgWinExtra, DbgPETypes, DbgDwarf, DbgUtil; procedure AddSymbols(AParent: TDbgSymbol; AModule: THandle); diff --git a/debugger/fpdebug/fpd/fpd.lpi b/debugger/fpdebug/fpd/fpd.lpi new file mode 100644 index 0000000000..8fc73d9860 --- /dev/null +++ b/debugger/fpdebug/fpd/fpd.lpi @@ -0,0 +1,85 @@ +<?xml version="1.0"?> +<CONFIG> + <ProjectOptions> + <Version Value="9"/> + <PathDelim Value="\"/> + <General> + <Flags> + <MainUnitHasCreateFormStatements Value="False"/> + <MainUnitHasTitleStatement Value="False"/> + <UseDefaultCompilerOptions Value="True"/> + </Flags> + <SessionStorage Value="InProjectDir"/> + <MainUnit Value="0"/> + <Title Value="fpd"/> + <UseAppBundle Value="False"/> + <ResourceType Value="res"/> + </General> + <i18n> + <EnableI18N LFM="False"/> + </i18n> + <VersionInfo> + <StringTable ProductVersion=""/> + </VersionInfo> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/> + <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + </local> + </RunParams> + <RequiredPackages Count="1"> + <Item1> + <PackageName Value="LCLBase"/> + </Item1> + </RequiredPackages> + <Units Count="2"> + <Unit0> + <Filename Value="fpd.lpr"/> + <IsPartOfProject Value="True"/> + </Unit0> + <Unit1> + <Filename Value="..\dbgclasses.pp"/> + <IsPartOfProject Value="True"/> + <UnitName Value="dbgclasses"/> + </Unit1> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="bin\$(TargetCPU)-$(TargetOS)\fpd"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <OtherUnitFiles Value=".."/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <Other> + <CompilerMessages> + <MsgFileName Value=""/> + </CompilerMessages> + <CompilerPath Value="$(CompPath)"/> + </Other> + </CompilerOptions> + <Debugging> + <Exceptions Count="3"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/debugger/fpdebug/fpd/fpdcommand.pas b/debugger/fpdebug/fpd/fpdcommand.pas index 381ecdfa81..66974b4897 100644 --- a/debugger/fpdebug/fpd/fpdcommand.pas +++ b/debugger/fpdebug/fpd/fpdcommand.pas @@ -36,7 +36,7 @@ unit FPDCommand; interface uses - SysUtils, Classes, Windows, DbgWinExtra, DbgClasses, LCLProc; + SysUtils, Classes, Windows, LCLProc, DbgWinExtra, DbgClasses; procedure HandleCommand(ACommand: String); diff --git a/debugger/fpdebug/fpdd/fpdumpdwarf.lpi b/debugger/fpdebug/fpdd/fpdumpdwarf.lpi index 8f6b9fa1c3..dd1c2b52d7 100644 --- a/debugger/fpdebug/fpdd/fpdumpdwarf.lpi +++ b/debugger/fpdebug/fpdd/fpdumpdwarf.lpi @@ -1,26 +1,36 @@ <?xml version="1.0"?> <CONFIG> <ProjectOptions> + <Version Value="9"/> <PathDelim Value="\"/> - <Version Value="7"/> <General> + <Flags> + <MainUnitHasCreateFormStatements Value="False"/> + <MainUnitHasTitleStatement Value="False"/> + </Flags> + <SessionStorage Value="InProjectDir"/> <MainUnit Value="0"/> - <TargetFileExt Value=".exe"/> - <ActiveEditorIndexAtStart Value="3"/> + <Title Value="fpdumpdwarf"/> + <UseAppBundle Value="False"/> + <ResourceType Value="res"/> </General> + <i18n> + <EnableI18N LFM="False"/> + </i18n> <VersionInfo> - <ProjectVersion Value=""/> + <StringTable ProductVersion=""/> </VersionInfo> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> <PublishOptions> <Version Value="2"/> - <IgnoreBinaries Value="False"/> <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/> - <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/> + <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/> </PublishOptions> <RunParams> <local> <FormatVersion Value="1"/> - <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> </local> </RunParams> <RequiredPackages Count="1"> @@ -28,86 +38,33 @@ <PackageName Value="LCL"/> </Item1> </RequiredPackages> - <Units Count="4"> + <Units Count="2"> <Unit0> <Filename Value="fpdumpdwarf.lpr"/> <IsPartOfProject Value="True"/> - <CursorPos X="45" Y="12"/> - <TopLine Value="1"/> - <EditorIndex Value="0"/> - <UsageCount Value="20"/> - <Loaded Value="True"/> </Unit0> <Unit1> - <Filename Value="..\dbgclasses.pp"/> - <UnitName Value="DbgClasses"/> - <CursorPos X="22" Y="4"/> - <TopLine Value="1"/> - <EditorIndex Value="1"/> - <UsageCount Value="10"/> - <Loaded Value="True"/> + <Filename Value="..\dbgdwarf.pas"/> + <IsPartOfProject Value="True"/> + <UnitName Value="dbgdwarf"/> </Unit1> - <Unit2> - <Filename Value="..\dbgdwarf.pas"/> - <UnitName Value="DbgDwarf"/> - <CursorPos X="12" Y="1621"/> - <TopLine Value="1601"/> - <EditorIndex Value="2"/> - <UsageCount Value="10"/> - <Loaded Value="True"/> - </Unit2> - <Unit3> - <Filename Value="..\dbgsymbols.pas"/> - <UnitName Value="DbgSymbols"/> - <CursorPos X="102" Y="49"/> - <TopLine Value="23"/> - <EditorIndex Value="3"/> - <UsageCount Value="10"/> - <Bookmarks Count="1"> - <Item0 X="35" Y="109" ID="1"/> - </Bookmarks> - <Loaded Value="True"/> - </Unit3> </Units> - <JumpHistory Count="7" HistoryIndex="6"> - <Position1> - <Filename Value="..\dbgclasses.pp"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position1> - <Position2> - <Filename Value="..\dbgdwarf.pas"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position2> - <Position3> - <Filename Value="..\dbgdwarf.pas"/> - <Caret Line="1105" Column="29" TopLine="1096"/> - </Position3> - <Position4> - <Filename Value="..\dbgdwarf.pas"/> - <Caret Line="1122" Column="29" TopLine="1087"/> - </Position4> - <Position5> - <Filename Value="..\dbgdwarf.pas"/> - <Caret Line="1268" Column="35" TopLine="1250"/> - </Position5> - <Position6> - <Filename Value="..\dbgsymbols.pas"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position6> - <Position7> - <Filename Value="..\dbgsymbols.pas"/> - <Caret Line="42" Column="3" TopLine="31"/> - </Position7> - </JumpHistory> </ProjectOptions> <CompilerOptions> - <Version Value="8"/> + <Version Value="11"/> <PathDelim Value="\"/> + <Target> + <Filename Value="bin\$(TargetCPU)-$(TargetOS)\fpdumpdwarf"/> + </Target> <SearchPaths> - <IncludeFiles Value="$(ProjOutDir)\"/> - <OtherUnitFiles Value="..\"/> + <IncludeFiles Value="$(ProjOutDir)"/> + <OtherUnitFiles Value=".."/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> </SearchPaths> <Other> + <CompilerMessages> + <MsgFileName Value=""/> + </CompilerMessages> <CompilerPath Value="$(CompPath)"/> </Other> </CompilerOptions> diff --git a/debugger/fpdebug/fpdd/fpdumpdwarf.lpr b/debugger/fpdebug/fpdd/fpdumpdwarf.lpr index 76e1ec7772..d69434cfd2 100644 --- a/debugger/fpdebug/fpdd/fpdumpdwarf.lpr +++ b/debugger/fpdebug/fpdd/fpdumpdwarf.lpr @@ -36,8 +36,8 @@ program FPDumpDwarf; {$mode objfpc}{$H+} uses - Classes, Windows, SysUtils, WinDDwarf, WinDPETypes, WinDDwarfConst, - WinDSymbols, WinDLoader, maps; + Classes, Windows, SysUtils, maps, + DbgPETypes, DbgDwarfConst, DbgSymbols, DbgLoader, DbgDwarf; var n, idx: Integer; diff --git a/debugger/fpdebug/test/asmtest.lpi b/debugger/fpdebug/test/asmtest.lpi index 13317a5152..a6123bbbd6 100644 --- a/debugger/fpdebug/test/asmtest.lpi +++ b/debugger/fpdebug/test/asmtest.lpi @@ -1,25 +1,33 @@ <?xml version="1.0"?> <CONFIG> <ProjectOptions> + <Version Value="9"/> <PathDelim Value="\"/> - <Version Value="5"/> <General> + <SessionStorage Value="InProjectDir"/> <MainUnit Value="0"/> - <IconPath Value="./"/> - <TargetFileExt Value=".exe"/> - <ActiveEditorIndexAtStart Value="0"/> + <Title Value="asmtest"/> + <ResourceType Value="res"/> + <UseXPManifest Value="True"/> + <Icon Value="0"/> </General> - <LazDoc Paths=""/> + <i18n> + <EnableI18N LFM="False"/> + </i18n> + <VersionInfo> + <StringTable ProductVersion=""/> + </VersionInfo> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> + </BuildModes> <PublishOptions> <Version Value="2"/> - <IgnoreBinaries Value="False"/> <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/> - <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/> + <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/> </PublishOptions> <RunParams> <local> <FormatVersion Value="1"/> - <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> </local> </RunParams> <RequiredPackages Count="1"> @@ -27,41 +35,37 @@ <PackageName Value="LCL"/> </Item1> </RequiredPackages> - <Units Count="2"> + <Units Count="3"> <Unit0> <Filename Value="asmtest.lpr"/> <IsPartOfProject Value="True"/> - <UnitName Value="asmtest"/> - <CursorPos X="70" Y="18"/> - <TopLine Value="1"/> - <EditorIndex Value="2"/> - <UsageCount Value="20"/> - <Loaded Value="True"/> </Unit0> <Unit1> - <Filename Value="asmtestunit.pas"/> - <ComponentName Value="Form1"/> + <Filename Value="..\dbgdisasx86.pp"/> <IsPartOfProject Value="True"/> - <ResourceFilename Value="asmtestunit.lrs"/> - <UnitName Value="AsmTestUnit"/> - <CursorPos X="34" Y="53"/> - <TopLine Value="43"/> - <EditorIndex Value="0"/> - <UsageCount Value="20"/> - <Loaded Value="True"/> + <UnitName Value="dbgdisasx86"/> </Unit1> + <Unit2> + <Filename Value="asmtestunit.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="Form1"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <UnitName Value="AsmTestUnit"/> + </Unit2> </Units> </ProjectOptions> <CompilerOptions> - <Version Value="5"/> + <Version Value="11"/> <PathDelim Value="\"/> + <Target> + <Filename Value="bin\$(TargetCPU)-$(TargetOS)\asmtest"/> + </Target> <SearchPaths> - <OtherUnitFiles Value="..\"/> - <SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/> + <IncludeFiles Value="$(ProjOutDir)"/> + <OtherUnitFiles Value=".."/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> </SearchPaths> - <CodeGeneration> - <Generate Value="Faster"/> - </CodeGeneration> <Linking> <Options> <Win32> @@ -70,8 +74,23 @@ </Options> </Linking> <Other> + <CompilerMessages> + <MsgFileName Value=""/> + </CompilerMessages> <CompilerPath Value="$(CompPath)"/> </Other> - <CompileReasons Run="False"/> </CompilerOptions> + <Debugging> + <Exceptions Count="3"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + </Exceptions> + </Debugging> </CONFIG> diff --git a/debugger/fpdebug/test/asmtest.lpr b/debugger/fpdebug/test/asmtest.lpr index 7befab4888..7815b19d04 100644 --- a/debugger/fpdebug/test/asmtest.lpr +++ b/debugger/fpdebug/test/asmtest.lpr @@ -7,8 +7,9 @@ uses cthreads, {$ENDIF}{$ENDIF} Interfaces, // this includes the LCL widgetset - Forms - { add your units here }, AsmTestUnit; + Forms, + AsmTestUnit, + dbgdisasx86; begin Application.Initialize; diff --git a/debugger/fpdebug/test/asmtestunit.lfm b/debugger/fpdebug/test/asmtestunit.lfm index e405410eba..93cf7b5e6b 100644 --- a/debugger/fpdebug/test/asmtestunit.lfm +++ b/debugger/fpdebug/test/asmtestunit.lfm @@ -1,34 +1,36 @@ object Form1: TForm1 - Caption = 'AsmTest' - ClientHeight = 224 - ClientWidth = 400 - PixelsPerInch = 120 - HorzScrollBar.Page = 399 - VertScrollBar.Page = 223 Left = 435 Height = 224 Top = 232 Width = 400 + HorzScrollBar.Page = 399 + VertScrollBar.Page = 223 + Caption = 'AsmTest' + ClientHeight = 224 + ClientWidth = 400 + LCLVersion = '1.1' object Label1: TLabel - Caption = 'Enter hex values separated by spaces here' - Color = clNone - ParentColor = False Left = 8 - Height = 18 + Height = 15 Top = 8 - Width = 263 + Width = 218 + Caption = 'Enter hex values separated by spaces here' + ParentColor = False end object Label2: TLabel + Left = 8 + Height = 15 + Top = 173 + Width = 38 Anchors = [akLeft, akBottom] Caption = 'Output' - Color = clNone ParentColor = False - Left = 8 - Height = 17 - Top = 171 - Width = 45 end object txtCode: TMemo + Left = 8 + Height = 135 + Top = 32 + Width = 384 Anchors = [akTop, akLeft, akRight, akBottom] Lines.Strings = ( '90' @@ -43,27 +45,23 @@ object Form1: TForm1 ) ScrollBars = ssVertical TabOrder = 0 - Left = 8 - Height = 135 - Top = 32 - Width = 384 end object txtOutput: TEdit - Anchors = [akLeft, akRight, akBottom] - ReadOnly = True - TabOrder = 1 Left = 8 Height = 23 Top = 191 Width = 384 + Anchors = [akLeft, akRight, akBottom] + ReadOnly = True + TabOrder = 1 end object chk64Bit: TCheckBox + Left = 304 + Height = 19 + Top = 9 + Width = 49 Caption = '64 bit' TabOrder = 2 - Left = 304 - Height = 17 - Top = 9 - Width = 55 end object Timer1: TTimer Interval = 250 diff --git a/debugger/fpdebug/test/asmtestunit.pas b/debugger/fpdebug/test/asmtestunit.pas index f9bf8fbbda..28e4f5321b 100644 --- a/debugger/fpdebug/test/asmtestunit.pas +++ b/debugger/fpdebug/test/asmtestunit.pas @@ -6,8 +6,10 @@ unit AsmTestUnit; interface uses - Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, windisas, - ExtCtrls, LCLProc, Math; + Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, + ExtCtrls, LCLProc, Math, + + DbgDisasX86; type