fpdebug, updates (fix compile): issue #0024525

git-svn-id: trunk@41921 -
This commit is contained in:
martin 2013-06-27 14:52:43 +00:00
parent 18985425ec
commit a955cab41f
10 changed files with 203 additions and 140 deletions

1
.gitattributes vendored
View File

@ -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

View File

@ -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);

View File

@ -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>

View File

@ -36,7 +36,7 @@ unit FPDCommand;
interface
uses
SysUtils, Classes, Windows, DbgWinExtra, DbgClasses, LCLProc;
SysUtils, Classes, Windows, LCLProc, DbgWinExtra, DbgClasses;
procedure HandleCommand(ACommand: String);

View File

@ -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>

View File

@ -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;

View File

@ -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>

View File

@ -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;

View File

@ -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

View File

@ -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