编译器中debug什么意思
⑴ 通常大家说的“bug”和“debug”都指什么
BUG英文是缺陷意思。debug是找缺陷,程序上漏洞,找漏洞。
BUG是指程序错误或漏洞,就是程序员编程时由于某些原因,因程序语句写错或考虑不周而未能实现想要的功能,甚至不能运行程序。最常见的可能就是某些游戏,由于程序没编好,别人就可能会利用其漏洞篡改游戏数据。
DEBUG就是指程序员对编好的程序进行漏洞的排查,尽量消除错误或漏洞。一般都是用专业的工具进行。
与Bug相对应,人们将发现Bug并加以纠正的过程叫做“Debug”,意即“捉虫子”或“杀虫子”。遗憾的是,在中文里面,至今仍没有与“Bug”准确对应的词汇,于是只能直接引用“Bug”一词。虽然也有人使用“臭虫”一词替代“Bug”,但容易产生歧义,所以推广不开。
所谓“(Bug)”,是指电脑系统的硬件、系统软件(如操作系统)或应用软件(如文字处理软件)出错。硬件的出错有两个原因,一是设计错误,一是硬件部件老化失效等。软件的错误全是厂家设计错误。
⑵ c#中的debug和trace到底是什么意思
DEBUG常量和TRACE常量都是编译常量
可以指定编译常量来控制预处理器指令,告诉C#编译器要编译哪些代码,并指出如何处理特定的错误和警告。
⑶ bug和debug是什么意思
bug
英[bʌɡ]美[bʌɡ]
n.臭虫;窃听器;[计]漏洞 v.窃听;打扰;失去(镇定)
名词:bugger 过去式:bugged 过去分词:bugged 现在分词:bugging 第三人称单数:bugs
Debug
英[ˌdiː'bʌɡ]美[ˌdiː'bʌɡ]
v.调试;驱除(某处的)害虫;排除障碍;寻出并拆除 ... 内的窃听器
名词:debugger过去式:debugged过去分词:debugged现在分词:debugging第三人称单数:debugs
(3)编译器中debug什么意思扩展阅读:
bug双解释义
1.n. (名词)
[C]虫子any small insect
[C]〈非正〉病菌a small living thing causing disease
[C](机器等)故障a fault or difficulty in a machine, etc.
[C]〈俚〉窃听器an apparatus for listening secretly to other people's conversations
2.v. (动词)
vt. 〈俚〉在…装窃听器; 窃听fit with a secret listening apparatus
vt. 〈美俚〉打扰,使厌烦annoy; irritate
英英释义
bug的用法和样例:
用作名词 (n.)
Why do we need bug spray?
我们要杀虫剂干什么?
The police tested the room for bugs.
警察检查房间里是否放有窃听器。
用作动词 (v.)
Be careful what you say; our conversation may be being bugged.
说话要当心,咱们的话可能被窃听了。
Don't bug me with petty details.
不要讲那些琐碎的细节来烦我。
That man really bugs me.
那个人真把我惹火了。
Debug英英释义
Verb:
1.locate and correct errors in a computer program code;
"debug this program"
例句
用作动词 (v.)
I am trying to debug a screen-painting problem.
我在尝试调试屏幕绘制问题。
⑷ vc++ build和debug的区别!!
一个是编译(并链接),一个是调试,在术语上完全是两码事。
估计你是初学吧,这是说两个按钮?
build按钮就是编译,在编译无误后按照工程设置链接(link)成为最终文件exe或者dll等等。如果程序已经编译过不再编译。
debug按钮,是对已经编译好的程序进行调试运行(就是只能在编译器中的运行状态),可以断点查看,单步执行。如果程序没有编译,会提示你是否编译,如此而已。
⑸ c# 中的 debug 和relesae
您好,Debug的意思是“调试”,而release的意思是“发行”,当您使用调试模式时,编译器会禁用一部分代码的动态优化,以保证调试获得信息的完整性,而发行模式会允许JIT对代码进行动态优化,所以选择“发行”模式生成的程序运行的速度要高于调试模式,但是,如果您在开发环境中运行程序,您应该选择调试模式。
希望这些信息对您有帮助,谢谢。
⑹ Keil编译器中debug是什么概念
debug是通用的调试,包括对任何软件功能模块的调试。
Keil也能提供部分底层硬件的调试功能。
⑺ Vb中的debug是什么意思
Debug调试器是编译调试器的模式,有点类似于c#中的控制台。
1.先确保在电脑上下载vb6,并在安装vb后,进入主界面。
⑻ C语言dev c++,选项release,debug,profiling什么意思
debug调试,release发行版,profiling性能分析。
作用:
debug可以对软件进行单步执行,堆栈跟踪,调试等操作来发现bug。
release如果最终调试后程序没有明显bug,可以作为可用的软件分享给他人使用就可以使用这个选项编译。
profiling可以对软件执行过程中的cpu利用率,内存占有进行分析,也可以用来发现,分析异常,bug。
(8)编译器中debug什么意思扩展阅读:
区别
主要是针对其面向的目标不同的而进行区分的。
Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能力。Debug版本包括调试信息,所以要比Release版本大很多。是否需要DLL支持,主要看采用的编译选项。如果是基于ATL的,则Debug和Release版本对DLL的要求差不多。
而Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。
⑼ C# 配置中debug 和活动(debug)区别
Debug (配置中debug)通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程
序。
Release (活动(debug))称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。
Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常他们也不会引起 Release 版错误,在此不讨论)
Debug 版本:
1./MDd /MLd 或 /MTd 使用 Debug runtime library(调试版本的运行时刻函数库)
2./Od 关闭优化开关
3./D "_DEBUG" 相当于 #define _DEBUG,打开编译调试代码开关(主要针对assert函数)
4./ZI 创建 Edit and continue(编辑继续)数据库,这样在调试过程中如果修改了源代码不需重新编译
5./GZ 可以帮助捕获内存错误
6./Gm 打开最小化重链接开关,减少链接时间
Release 版本:
1./MD /ML 或 /MT 使用发布版本的运行时刻函数库
2./O1 或 /O2 优化开关,使程序最小或最快
3./D "NDEBUG" 关闭条件编译调试代码开关(即不编译assert函数)
4./GF 合并重复的字符串,并将字符串常量放到只读内存,防止被修改
实际上,Debug 和 Release 并没有本质的界限,他们只是一组编译选项的集合,编译器只是按照预定的选项行动。事实上,甚至可以修改这些选项,从而得到优化过的调试版本或是带跟踪语句的发布版本。
C#中的两种debug方法介绍
第一种:需要把调试方法改成debug
代码用 #if DEBUG 包裹
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace SplitPackage
{
public static class EnvConfig
{
static EnvConfig()
{
#if DEBUG
ToolsPath = @"D:\workspace\shopstyle\tool";
#else
ToolsPath = Environment.CurrentDirectory;
#endif
int rootIdx = ToolsPath.LastIndexOf(@"\");
if (rootIdx > 0)
{
RootPath = ToolsPath.Substring(0, rootIdx);
}
}
public static string ToolsPath { get; private set; }
public static string TmplateFile { get { return Path.Combine(ToolsPath, @"template\default.pm"); } }
public static string RootPath { get; private set; }
public static string MolePath { get { return Path.Combine(RootPath, "mole"); } }
public static string ConfigPath { get { return Path.Combine(RootPath, "conf"); } }
}
}
第二种:利用宏定义
#define DEBUG// C#的宏定义必须出现在所有代码之前。当前我们只让DEBUG宏有效。
using System.Diagnostics; //必须包含这个包
#define DEBUG
using System.Diagnostics;
namespace TestConsole
{
class ToolKit
{
[ConditionalAttribute("LI")] // Attribute名称的长记法
[ConditionalAttribute("DEBUG")]
public static void Method1() { Console.WriteLine("Created By Li, Buged.11"); }
[ConditionalAttribute("LI")]
[ConditionalAttribute("NOBUG")]
public static void Method2() { Console.WriteLine("Created By Li, NoBug."); }
[Conditional("ZHANG")] // Attribute名称的短记法
[Conditional("DEBUG")]
public static void Method3() { Console.WriteLine("Created By Zhang, Buged.11"); }
[Conditional("ZHANG")]
[Conditional("NOBUG")]
public static void Method4() { Console.WriteLine("Created By Zhang, NoBug."); }
}
static void Main(string[] args)
{
ToolKit.Method1();
ToolKit.Method2();
ToolKit.Method3();
ToolKit.Method4();
}
}
}