DelphiXE环境认知(第一章 Project Options)

DelphiXE环境认知

作者:帅宏军

时间:2011年4月

说明:根据DelphiXE的自带帮助翻译而来,为作者个人看法,如有翻译不当,仅供参考。

shuaihj@163.com

http://blog.csdn.net/shuaihj

第一章、 Project Options

Ø Project > Options

这个页面用来设置当前项目的Delphi编译器选项。Default勾选后可将当前的配置作为新工程的默认配置。

说明: 并不是这里所有的选项适用于所有类型的项目。例如,DCP output directory不会出现在C + +项目中。

一、 Delphi Compiler

Ø Project > Options > Delphi Compiler

clip_image002

1. Conditional defines

指定在条件编译指令中引用的符号,用;分隔,点击 clip_image003打开符号定义对话框.

这里定义了DEBUG,下面的代码将执行_部分语句

procedure TForm1.FormCreate(Sender: TObject);

begin

{$IFDEF DEBUG}

ShowMessage('Debug');

{$ENDIF}

end;

可通过切换Build Configuration来得到不同的编译变量。

2. DCP output directory

指定.dcp文件存放的路径,如果为空,则使用Tools > Options > Environment Options > Delphi Options > Library页中的DCP output directory 指定的全局路径替代.

3. Default Namespace

指定工程中所有单元文件使用的默认命名空间。

4. Namespace prefixes

指定命名空间的前缀,可以让你使用一个命名空间时使用一个速记的命名空间。

例如:Embarcadero.Vcl.DB, 你可以指定Embarcadero.Vcl 作为namespace prefix。这样,你可以简单的在引用时,使用uses DB,而不必uses Embarcadero.Vcl.DB

5. Output directory

指定编译后,可执行文件的存放路径。

6. Package output directory

指定编译后,bpl文件的存放路径。

7. Search path

指定源文件的位置。只有在compiler search pathlibrary search path中列举的文件,才能参与到Build过程中,在Build过程中,如果某个文件在上面两个路径中找不到,将提示一个编译错误。你必须指定完整路径,多个路径可以用分号隔开。分号前后可加空格,也可不加。使用相对路径和绝对路径都可以。

8. Unit aliases

有用的向后兼容性。为那些已经更改名称或者合并的单元指定别名。格式如下:

=

例如: Forms=Xforms

用分号分隔多个别名。

Delphi默认WinTypes=Windows;WinProcs=Windows.Default.

9. Unit output directory

指定一个单独存放.dcu文件的路径。

二、 Compiling

Ø Project > Options > Delphi Compiler > Compiling

clip_image005

1. Code Generation Options

clip_image007

1.1. Code inlining control

设置或清除Delphi编译器指令{$INLINE }Default = off.

1.2. Code page

输入您的应用程序的语言代码页,如1252。代码页是一个十进制数,表示一个特定的字符编码表,并有各种语言的标准值。Default = 0

1.3. Emit runtime type information

控制生成运行时类型信息{$M}Default = False

1.4. Minimum enum size

指定为枚举类型分配的最小内存。选择一个字节{$ Z1},双字节{$ Z2},四字节{$ Z4}

Default = Byte

1.5. Optimization

控制代码的优化。启用时(相当于{ $ O +}),编译器执行代码的优化,如放置在CPU寄存器的变量,消除常见的子表达式,并产生感应变量。禁用时(相当于{$ O-}),所有这些优化被禁用。除了某些调试的情况下,你永远不应该把优化关闭。由Delphi编译器执行的所有优化保证不会改变一个程序的意义。换句话说,编译器不执行“不安全“的需要程序员特别注意的优化。这是一个全局设置,不能只针对某些具体代码行单独设置。Default = False

1.6. Pentium-safe FDIV

控制生成浮点代码,针对某些早期的Pentium处理器表现出的有缺陷的FDIV指令设置保护。Windows 95, Windows NT 3.51, 和以后版本的 Windows 系统自身已经包含了纠正这个问题的代码。当启用(相当于编译器指令{$U+}),所有浮点除法都用一个运行时库例程执行。第一次浮点除法例程被调用时,它会检查是否处理器的FDIV指令工作正常,并更新相应的TestFDIV变量(在System单元声明)。对于后续的浮点除法运算,在TestFDIV中存储的值用于确定采取何种行动:

-1: FDIV指令已经过测试,发现是有缺陷的。

0: FDIV指令尚未经过测试

1: FDIV指令已经过测试,发现是正确的

对于没有表现出FDIV漏洞的处理器,启用此选项,只导致很小的性能下降;在启用状态下,对于一个有缺陷的奔腾处理器,浮点除法运算可能需要多于三倍的时间,但总能产生正确的结果。在禁用(相当于{$ U-})状态下,浮点除法运算都是用内联FDIV指令。这会得到优化的效率和代码尺寸,但可能会在有缺陷的奔腾处理器上产生不正确的结果。只有当你可以确定不在有缺陷的奔腾处理器上运行时,才使用禁用状态。Default = False

1.7. Record field alignment

控制记录类型和类结构中的域变量对齐。

如果选择 Off ({$A0} 或者disable ({$A-}) 域变量不对齐,为packaged模式: 根据实际大小分配内存.

如果选择Byte ({$A1}),域变量向字节对齐;如果选择 Word ({$A2}),域变量向双字节对齐;如果选择Double Word ({$A4}),域变量向四字节对齐;如果选择Quad Word ({$A8})({$A+}) 域变量向八字节对齐,这是最快的,也是默认值。

1.8. Stack frames

控制过程和函数的堆栈的生成。当启用({$W+})时,即使过程和函数不需要,堆栈也总是生成。当禁用时({$W-}),堆栈只在需要的时候生成,根据常规的局部变量的使用而决定。一些调试工具需要所有过程和函数的堆栈的生成,除此之外,你不要开启此项。Default = False

2. Debugging Options

clip_image009

2.1. Assertions

启用或禁用代码源文件中生成的断言。默认启用该选项(相当于{$C +})。断言通常不用于产品的发布版本。

2.2. Debug information

调试信息包括为连续的过程的行号表,映射目标代码地址到源文件行号。对于Units,调试信息和目标代码一起被记录在单元文件中。调试信息增加单元文件的大小,并占用额外的内存,但不影响可执行程序的大小和速度。当一个程序或单元启用此选项编译({$ D+}),集成调试器可让您单步,并在该模块中设置断点。

这两个选项debug information Map file (Project>Linking)启用时,编译时生成完整的行信息。这个选项通常和Local symbols 选项({$L})一起使用, 用来控制局部符号调试信息的生成。

2.3. Local symbols

启用或禁用局部符号信息的产生。

局部符号信息由模块中的局部变量和常量的名称和类型组成,即模块的implementation 部分中的符号和proceduresfunctions中的符号。对于Units,调试信息和目标代码一起被记录在单元文件中。局部符号信息增加单元文件的大小,并占用额外的内存,但不影响可执行程序的大小和速度。开启这个选项({$L+}),集成调试器可让您检查和修改模块局部变量。

此外,调用该模块的proceduresfunctions可以通过在View | Call Stack来检查。这个选项通常和Debug information 选项({$D+})一起使用, 用来调试行号信息表的生成。如果Debug information被禁用,此选项将被忽略。

2.4. Symbol Reference info

在代码编辑器和工程管理器中,用来生成符号引用信息。对应{$Y}。如果参考信息和定义都检查({$YD}),编译器记录符号的定义位置信息。如果参考信息被检查,定义不检查({$Y+}),编译器记录符号的定义位置和使用位置信息。除非Debug information Local symbols 开启,否则此选项无效。只有Symbol Reference info 设置为 Reference info时, Code completionCode navigation (Ctrl-Click) 功能才有效。

2.5. Use debug .dcus

DCUs携带堆栈帧一起构建,包含调试信息。选中此选项时,编译器优先考虑Directories /Conditionals页面上的Debug Source Path指定的Dcu搜索路径,而不是pas路径。

2.6. Use imported data references

使单元包含引用到的其他包中的变量。({$G}

3. Other Options

clip_image011

3.1. Additional options to pass to the compiler

输入额外的编译器开关,使用-做为开关的符号,多个开关用逗号分隔。

3.2. Generate XML Documentation

在工程路径中生成用XML表示的一个文件,与- doc的编译器开关对应。Default = False

3.3. Look for 8.3 filenames also

传递 -P 编译器开关给 DCC32.exeDefault = False

3.4. Output unit dependency information

传递 -depends 编译器开关给 DCC32.exeDefault = False

4. Runtime Errors Options

clip_image013

4.1. I/O checking

控制调用I/O方法时,对返回结果检查。启用状态下,如果一个I/O方法返回非0值,将抛出一个EinOutError异常。非启用状态下,你必须通过调用IOResult,自己检查I/O错误。Default = True

4.2. Overflow checking

控制溢出检查。启用状态({$Q+}),将检查某些整数运算符 (+, -, *, Abs, Sqr, Succ, Pred, Inc, and Dec) 的溢出。每个整数运算符都有额外的代码验证其结果是否超出范围,如果溢出检查失败,则引发异常EintOverflow。这个开关通常和Range checking{$R+})开关一起使用。启用溢出检查减慢你的程序,使得它有点大。Default = False

4.3. Range checking

控制范围检查,启用状态({$R+}),所有数组和字符串表达式下标索引被检查是否在范围内。如果范围检查失败,则引发异常ErangeError。启用范围检查减慢你的程序,使得它有点大。Default = False

5. Syntax Options

clip_image015

5.1. Assignable typed constants

控制常量类型是否能被修改。启用状态({$J+}),常量类型可以被修改,在本质上是初始化的变量。禁用状态({$J+}),常量类型是真正意义的常量,任何企图修改的行为,都将引发编译器抛出一个错误。可写consts是指一个常量作为变量在运行时可被修改。旧源代码,使用可写型常量必须在编译时启用此选项,但对于新的应用,建议您使用初始化变量和禁用此选项。Default = False

5.2. Complete boolean evaluation

控制布尔运算符ANDOR的两种评估模式。启用时({$ B+}),编译器生成完整的布尔表达式求值的代码。这意味着每个ANDOR运算符都要保证评估,即使整个表达式的结果是已知的;禁用时({$ B-}),编译器生成短路布尔表达式求值,也就是说,评价代码尽快停止对整个表达式的评估,变成左到右的顺序评价。Default = False

5.3. Extended syntax

提供向后兼容,使用Delphi编程时,不应该禁用此选项({$ X-})。这个选项控制Delphi的扩展语法:

函数的声明。启用状态({$ X+}),函数调用被当作过程调用,也就是说,函数的调用结果可以被丢弃,而不是传递给另一个函数或参与操作、赋值。一般说来,一个函数执行的效果是通过其结果来体现,所以丢弃其结果没什么意义。然而,有时候一个函数的执行是为了改变一个全局变量,而不是返回一个结果。

结果变量。启用状态({$ X+}),一个预先定义的变量可以在函数体内使用,用来存放函数返回的结果。

空结束的字符串。启用状态({$ X+}),字符串可以被分配到从零开始的字符数组(数组[0 .. X]中的字符),这是与PChar类型兼容。Default = True

5.4. Long strings by default

此选项({$ H})控制保留字string在用作类型声明使用时的意义。基本类型的字符串可以表示一个长的,动态分配的字符串(基本类型的UnicodeString)或短的,静态分配的字符串(基本类型ShortString短)。默认情况下,Delphi基本定义的字符串类型是长的UnicodeString。在组件库中的所有组件都在此状态下编译。如果你写的组件,他们也应该用一个较长的字符串,以接收来自任何代码组件库中的字符串类型的属性数据。禁用状态({$ H-}),在引用短字符串版本的Delphi代码时非常有用,你可以在本地重写字符串类型定义的含义,以确保短字符串生成。您还可以更改短字符串类型声明为string[255]ShortString,这是明确的,独立的启用选项。Default = True

5.5. Open parameters

此选项只对编译庞大的字符串代码有意义,是为了对早期的Delphi,Pascal版本向后兼容。禁用状态({$ P-}),用string声明的变量都是正常的变量参数; 但是在启用状态({$ P+}),这些参数变量是openstring参数。不管这个选项的设置如何,openstring标识符总是可以用来声明openstring参数。Default = True

5.6. Strict var-strings

此选项只对短字符串代码有意义,是为了对早期的Delphi,Pascal版本向后兼容。

启用状态({$ V+}),执行严格的类型,要求正式和实参是相同的字符串类型; 禁用状态({$ V-}),任何短字符串类型的变量可以作为一个实参,即使声明的最大长度与正式参数不同。Default = True

5.7. Typed @ operator

此选项控制类型运算符@生成的指针值和指针类型的兼容性。禁用时({$T-}),则@运算符的结果始终是一个无类型指针,它与所有其他指针类型兼容。启用时({$T+}),则@运算符的结果始终是一个有类型指针,只与其同类型的指针兼容。Default = False

三、 Hints and Warnings

Project > Options > Delphi Compiler > Hints and Warnings

clip_image017

1. Output hints

$H}控制在编译时,是否输出hintsMessages WindowDefault = True

2. Output warnings

$W}控制在编译时,是否输出warningsMessages WindowDefault = True

四、 Linking

Project > Options > Delphi Compiler > Linking

clip_image019

1. Debug information

为每一个方法生成行号表,映射对象代码到源文本行号地址。相当于用{$ D +} Delphi编译器的指令和DCC32 - V开关。Default = False

2. EXE Description

请输入您的EXE文件的说明。这个字段可以包含多达255个字符的字符串。该字符串被链接到$ D,并被办好在可执行文件中。这最经常被用来插入应用程序的版权信息。版权信息也可以包括在VersionInfo文件,作为其一部分。请注意,此选项仅适用于DLL和应用程序的可执行文件,但不适合packages

3. Generate console application

导致链接器来给应用程序的exe文件设置一个标志,表明是一个控制台模式应用程序。Default = False

4. Image base

(-K) 指定编译后的镜像的预加载地址。这个值通常是在编译DLL的时候才改变。Default = 400000

5. Include remote debug symbols

(-VR)如果你正在进行远程调试,选中此项。Default = False

6. Map file

默认情况下,链接器生成一个映射文件,其中包含的信息,包括段信息列表,程序的起始地址,以及链接时产生的任何警告或错误信息。Default = Off.

Off --不产生映射文件。这是默认

Segments -- 生成一个映射文件,其中包含的信息,包括段信息列表,程序的起始地址,以及链接时产生的任何警告或错误信息

Publics -- 生成一个映射文件,其中包含的信息,包括段信息列表,程序的起始地址,以及链接时产生的任何警告或错误信息,和一个按字母顺序排序的公共符号列表。

Detailed --生成一个映射文件,其中包含的信息,包括段信息列表,程序的起始地址,以及链接时产生的任何警告或错误信息,和一个按字母顺序排序的公共符号列表,以及详细的段信息地图。部分段映射包含详细的段地址,长度,段名,组和模块信息

7. Maximum stack size

指示堆栈保留的总大小(只适用于执行项目;对于DLL禁用)。内存大小的设置也可以在你源码中通过$M编译器指令来实现。Default = 1048576

8. Minimum stack size

指示堆栈初始大小(只适用于执行项目;对于DLL禁用)。内存大小的设置也可以在你源码中通过$M编译器指令来实现。Default = 16384

9. Place debug information in separate TDS file

存储为一个单独的和工程文件同名的C++样式的符号文件.tds文件,这个文件在编译时被生成,包含了调试信息。如果你希望调试信息直接生成在PE中,设置Debug Information=True

当加载一个C++模块,调试器会检查随行的.tds文件的时间戳。假如这个时间戳比这个模块早多于5秒,调试器就会认为.tds文件是过时的,不能使用它。通用,IDE的时间日志也会报告没有发现这个模块的Debug信息,为了避免丢失.tds文件的问题,执行以下任一操作:

l 请确保您的构建进程(IDE和命令行)和配置文件都具有一致的“Place debug information in separate TDS file “选项。

l Rebuild模块时,删除对应的.tds文件

Default = False

10. Set base address for relocatable images

控制一个应用程序,DLL或包的默认的加载地址。参数必须是:

l 一个32位整数值,指定镜像的基址

l 大于等于$00010000;这个参数的低16被忽略为0

l 64K的倍数(即,最后4位数字必须是零的一个十六进制数),否则将向下调整至最接近的倍数,您将收到一个编译器消息。

相当于编译指令{$IMAGEBASE} Default = 0

11. Set extra PE header flags

PE(可移植可执行文件)的应用程序头指定附加标志

相当于编译指令{$SETPEFLAGS xxx} Default = 0

12. Set extra PE header optional flags

PE(可移植可执行文件)文件的可选头中设置附加的头字段;参考在WINNT.h 中定义的IMAGE_OPTIONAL_HEADER 结构。Default = 0

13. Set OS version fields in PE header as .

PE指定运行时支持的操作系统。用.指定大版本号,用.指定小版本号。例如,在PE可选头中指定5.0来表示需要运行在Windows2000操作系统上。参考WINNT.h中的IMAGE_OPTIONAL_HEADERDefault = 5.0

14. Set subsystem version fields in PE header as .

PE指定运行时支持的子操作系统。用.指定大版本号,用.指定小版本号。Default = 5.0。参考WINNT.h中如下值:

l IMAGE_SUBSYSTEM_UNKNOWN = 0 – 未知子系统

l IMAGE_SUBSYSTEM_NATIVE = 1 – 设备驱动程序或原生WINNT程序

l IMAGE_SUBSYSTEM_WINDOWS_GUI = 2 -- 运行在Windows图形用户界面(GUI)子系统

l IMAGE_SUBSYSTEM_WINDOWS_CUI = 3 --运行在Windows字符子系统

l IMAGE_SUBSYSTEM_POSIX_CUI = 7 --运行在POSIX字符子系统

15. Set user version fields in PE header as .

指定应用程序的版本号,用.指定大版本号,用.指定小版本号。参考WINNT.h中的IMAGE_OPTIONAL_HEADERDefault = 0

五、 Output - C/C++

Project > Options > Delphi Compiler > Output - C/C++

clip_image021

1. C/C++ .bpi output directory (package import libraries)

指定的.BPI的文件的输出目录(在Delphi中使用的包导入库和C++项目)。

2. C/C++ .hpp output directory

指定的.HPP的文件的输出目录(C++头文件)。

3. C/C++ .obj/.lib output directory

指定C ++ .OBJ.lib文件的输出目录

4. C/C++ Output file generation

指定文件,这些文件是由Delphi编译器的输出。选择是:

l Generate DCUs: 生成包和其相关的.dcu.dcp文件

l Generate C .objs: C程序生成C对象文件

l Generate C++ .objs: C++程序生成C++对象文件

l Generate C++ .objs, headers: 生成头文件.hpp和对象文件.obj

l Generate C++ .objs, headers, namespaces: 包含.hpp.obj的命名空间信息

l Generate C++ .objs, headers, namespaces, export: 包含.hpp.obj的所有符号信息

l Generate C++ .objs, namespaces: 包含.objC++命名空间信息,是DelphiC++混合项目的默认

l Generate C++ .objs, namespaces, export: 包含.objC++命名空间信息和符号信息

l Generate C++ .objs, headers, exports: 包含.hpp和.obj的所有面向对象的符号信息

l Generate C++ .objs, exports: 包含.obj面向对象的符号信息

l Generate all C++Builder files (including package libs) *: C++生成所有的包和Delphi文件,以及必要的 .hpp/.bpi/.lib文件。这是默认值

六、 Resource Compiler

Project > Options > Resource Compiler

clip_image023

1. Additional options

为资源编译器(BRCC32.EXE)指定额外的属性

2. Code page

(-c)为资源翻译指定代码页,如果被指定,默认的ANSI代码页将生效。

3. Default language

(-l)指定默认语言,如-l409代表英语。更多信息请参阅http://msdn2.microsoft.com/en-us/library/ms776324.aspx

4. Ignore INCLUDE

(-x)忽略INCLUDE环境变量。Default = False

5. Multi-byte character support

(-m)多字节字符支持。如果设置为True,资源编译器将定资源文件中有多字节的字符。Default = False

6. Resource compiler to use

指定要使用的资源编译器,可选BRCC32.exe (默认) RC.exe (Windows SDK 资源编译器).

7. Resource type

资源文件类型

8. Response file

指定一个响应文件,响应文件通常以.RSP为扩展名,是一个ASCII格式的文本文件,包含了命令和文件名,支持多行和空格分割。

9. Verbose messages

(-v) 链接器发出详细信息消息。Default = False

七、 Directories and Conditionals

Project > Options > Resource Compiler > Directories and Conditionals

clip_image025

1. Defines a preprocessor symbol

(-d)定义预处理符号列表

2. Include file search path

(-I)指定程序包含的文件的路径。

3. Output directory for .res files

指定.Res文件的输出路径

八、 Forms

Project > Options > Forms

clip_image027

1. Main form

指定你的应用程序启动时,用户最新看到哪个窗体。

2. Auto-create forms

列出了自动添加到启动代码和项目文件中的在运行时创建的窗体。当您第一次运行应用程序,这些窗体会自动创建并显示。您可以通过拖动重新拖放排列这些窗体的创建顺序。按住Shift键的同时可选择多个窗体名称。

3. Available forms:

列出那些你的应用程序所使用的,但不会自动创建的窗体。如果你想创建一个这些形式的一个窗体,你必须调用它的Create方法

4. Arrow buttons

用这些箭头按钮,可将窗体从一侧移动到另一侧

九、 Application

Project > Options > Application

clip_image029

通过这一页改变当前应用程序的名称和类型,如果你的应用程序没有包含资源文件(.res),Application settings是不可用的。

1. Title

为应用程序指定一个出现在图标边上的标题,当最小化时显示。限制255个字符长

2. Help file

为当前应用程序指定一个帮助文件。

3. Icon

为当前应用程序指定一个图标(.ico),对应控制台程序,这个选项是禁用的。Windows将使用一个默认的图标。如果你想改变这个图标,参考http://delphi.about.com/od/delphitips2009/qt/console-mode-delphi-application-specify-icon.htm

4. Enable runtime themes

为当前应用程序指定是否使用运行时Windows主题

5. Target file extension

为当前应用程序指定一个扩展名

十、 Version Info

Project > Options > Version Info

clip_image031

通过这一页为Win32程序指定版本信息,当包含了版本信息后,用户可通过在资源管理器中,鼠标右键查看应用程序的属性页来看到版本信息。

1. Include version information in project

决定是否在应用程序中包含版本信息。为了使用这个选项,必须在你的工程文件中增加{$R *.res}在加入资源文件

2. Module version number

设置分层嵌套版本信息,结果如Major. Minor. Release. Build,每一个段都必须是小于65,535的无符号整数。如果选中了Auto-increment build number选项,每一次通过Project > Build 菜单执行时,都会自动给Build加一。其他编译不会影响。

3. Module attributes

表示这个版本的目的,选中此选项,目的信息将被包含在版本信息中仅供参考使用:

l Debug build:表示这个工程是在Debug模式下编译生成

l Pre-release:表示该版本不是商业发行产品

l DLL:表示此版本包含动态链接库

l Special build:表示该版本是标准版本的变化版本

l Private build:表示该版本不是用作标准分发的程序

4. Language

表示在用户系统中运行此应用程序需要哪个代码页,Locale ID为十六进制值,例如$0409 = code page 1033。你只能在下拉列表中选择一项使用。如果想使用操作系统中没有的语言,需要安装对应的语言包。

5. Key/Value list box

设置典型的产品识别属性。每个条目都可被选中和编辑,也可通过右键菜单Add Key来增加一项。

十一、 Packages

Project > Options > Packages

clip_image033

通过这一页为你的应用程序选择想要使用的已经安装在IDE中的设计器包和运行时包。

1. Design packages

列出了安装在IDE中所有可用的设计期包。选中你想用在当前应用程序中的包(勾选不会影响其他应用程序)。

2. Add

安装一个设计期包,你的应用程序同时可以使用这个包了。(全局有效,影响整个Delphi环境)

3. Remove

删除一个设计期包,这个包将对当前应用程序不可用。(全局有效,影响整个Delphi环境)

4. Edit

如果源码文件或.dcp文件可用,编辑这个包。(全局有效,影响整个Delphi环境)

5. Components

显示当前选中设计期包中包含的组件列表。

6. Runtime packages

决定应用程序被创建时,需要用到哪些运行时包,多个包用分号分割。当有包被安装和卸载时,运行时包列表将被更新。应用程序包含了设计期包,也将自动包含设计期包所需要的运行时包。

7. Build with runtime packages

动态链接指定的运行时包,而不是和应用程序编译在一个文件中,这些运行时包需要和应用程序一起发布。(只对当前工程有效)

十二、 Debugger

Project > Options > Debugger

clip_image035

通过这一页为你的应用程序指定命令行参数,为DLL工程指定宿主应用程序。这些参数也可通过Run > Parameters来指定。

1. Host Application

指定一个应用程序的路径,如果当前应用程序是DLLBPL,可指定一个调用它的宿主程序。你也可以指定想要执行的任何应用程序,如果想要执行当前打开的应用程序,不需要指定。

2. Parameters

指定传递给你的应用程序的命令行参数。这些参数将被智能的自动记录下来,下次使用是下拉框中为可选项。

3. Working Directory

指定用于调试当前进程的路径,默认情况下,该路径为当前应用程序exe文件所在的路径。

4. Source Path

指定包含源码文件的路径,默认情况下调试器搜索编译器指定的路径。按照如下顺序搜索:

l Source path (当前选项).

l 全局Browsing pathDelhiC++:

² 针对Delphi, 使用Tools > Options > Environment Options > Delphi Options > Library - Win32 page页面设置

² 针对 C++, 使用Tools > Options > Environment Options > C++ Options > Paths and Directories page页面设置

l 全局Debug Source path, 通过Tools > Options > Debugger Options > Embarcadero Debuggers页面设置

十三、 Debugger Symbol Tables

Project > Options > Debugger Symbol Tables

clip_image037

通过这一页指定调试过程中使用的符号表的位置。

1. Debug symbols search path

指定调试时使用的符号表路径,当Load all symbols没有被选中时,该选项起作用

2. Load all symbols

设置Module Name - Symbol Table Path列表的状态, 控制其是否可用。如果选中这个选项,使用Module Name - Symbol Table Path列表中的路径,如果没有被选中,使用Debug symbols search path中指定的路径。

3. Module Name - Symbol Table Path list

显示当前工程中定义的每个符号表的路径和别名。使用右侧的箭头可以调整顺序。调试器搜索这个这列表,寻找并加载一个匹配模块名称的路径。

4. Load symbols for unspecified modules

指定调试过程中使用的符号表是否在Module Name - Symbol Table Path list指定的列表中(无论是明示还是使用文件通配符),如果此选项被选中,Module Name - Symbol Table Path list中没有指定的符号表,将可以通过Debug symbols search path加载,如果没有被选中,将只使用Module Name - Symbol Table Path list中的符号列表。

5. New,Edit, Delete

增加,修改,删除一项符号列表

十四、 Debugger Environment Block

Project > Options > Debugger Environment Block

clip_image039

通过这一页指定调试过程使用哪些环境变量。些参数也可通过Run > Parameters来指定。

1. System variables

列出了所有系统级别的环境变量名称和值,你不能删除任何已有的系统环境变量,但是可以覆盖。

2. Add Override...

当你选中一个系统变量时有效,单击后弹出一个对话框,让你输入一个同名的用户变量来覆盖系统变量。

3. User overrides

可定义自己的用户变量,也可覆盖同名的系统变量,通过NewEditDelete来增加,修改和删除。

4. Include System Variables

传递系统变量给应用程序,如果此选项没有被选中,将只传递用户变量给应用程序。

十五、 Build Events

Project > Options > Build Events

clip_image041

通过这一页指定的命令(copy $() c:/Built/$())执行的结果,将在Messages窗口的Output页面被显示。如果想控制输出的级别,通过Tools > Options > Environment Options调整Verbosity属性

1. Pre-Build

为在其他Build之前执行的命令。

2. Pre-Link

仅对C++有效,为在Link之前执行的命令。

3. Post-Build

为在Build执行完成后执行的命令。

点击Edit后弹出下面窗口

clip_image042

4. Execute when

确定什么时候执行命令:

l Always: 总是执行

l Target is out-of-date: 当目标应用程序过期时执行

5. Cancel build on error

如果任何一个命令返回非零错误代码,取消工程的编译过程。

6. Commands

指定要执行的命令。用换行增加新的命令。

7. Macros

列出可使用的宏命令参数。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页