如何:使用跟踪和调试进行条件编译求答案
1个回答
展开全部
不过,若要在已部署的应用程序中包含跟踪功能,则必须在启用 TRACE 编译器指令的情况下编译已插入检测点的应用程序。这样就可以将跟踪代码编译成应用程序的发布版本。如果未启用 TRACE 指令,将在编译过程中忽略所有跟踪代码,并且不会将其包含在将部署的可执行代码中。跟踪方法和调试方法都具有关联的条件特性。例如,如果跟踪的条件特性为 true,所有跟踪语句都将包含在一个程序集(经过编译的 .exe 文件或 .dll)中;如果 Trace 条件特性为 false,则不会包括跟踪语句。您可以为一个版本打开或关闭 Trace 和/或 Debug 条件特性。这样就会有四种版本:Debug、Trace、二者或二者都不是。某些用于生产部署的发布版本可能不包含这两种属性;大多数调试版本会同时包含这两种属性。您可以通过几种方式来指定应用程序的编译器设置:属性页命令行#CONST(对于 Visual Basic)和 #define(对于 C#)从属性页对话框中更改编译设置右击“解决方案资源管理器”中的项目节点。从快捷菜单中选择“属性”。在Visual Basic 中,单击“属性”页左窗格中的“编译”选项卡,再单击“高级编译选项”按钮,以显示“高级编译器设置”对话框。选中希望启用的编译器设置对应的复选框。清除要禁用的设置的复选框。在C# 中,单击“属性”页左窗格中的“生成”选项卡,然后选中希望启用的编译器设置对应的复选框。清除要禁用的设置的复选框。使用命令行编译已插入检测点的代码在命令行上设置条件编译器开关。编译器将在可执行文件中包括跟踪或调试代码。例如,在命令行上输入的以下编译器指令将在经过编译的可执行文件中包含跟踪代码:对于Visual Basic:vbc /r:System.dll /d:TRACE=TRUE /d:DEBUG=FALSE MyApplication.vb对于C#:csc /r:System.dll /d:TRACE /d:DEBUG=FALSE MyApplication.cs提示若要编译多个应用程序文件,请在文件名之间留一个空格,例如 MyApplication1.vb MyApplication2.vb MyApplication3.vb 或MyApplication1.cs MyApplication2.cs MyApplication3.cs。以上示例所使用的条件编译指令具有如下含义:指令含义vbcVisual Basic 编译器cscC# 编译器/r:引用外部程序集(EXE 或 DLL)/d:定义条件编译符号说明必须用大写字母来拼写 TRACE 或 DEBUG。如需有关条件编译命令的更多信息,请在命令提示处输入 vbc /?(对于 Visual Basic)或 csc /?(对于 C#)。有关更多信息,请参见从命令行生成 (C#) 或调用命令行编译器 (Visual Basic)。使用#CONST 或 #define 执行条件编译在源代码文件的顶部键入对应于编程语言的适当语句。Language语句结果Visual Basic#CONST TRACE = true启用跟踪02#CONST TRACE = false禁用跟踪02#CONST DEBUG = true启用调试02#CONST DEBUG = false禁用调试C##define TRACE启用跟踪02#undef TRACE禁用跟踪02#define DEBUG启用调试02#undef DEBUG禁用调试禁用跟踪或调试从源代码中删除编译器指令。-或 -注释掉编译器指令。说明当准备进行编译时,可以从“生成”菜单中选择“生成”,或者使用命令行方法但不键入 d:,以定义条件编译符号。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询