哪個組件用來編譯debug運行
『壹』 Vb中的debug是什麼意思
Debug調試器是編譯調試器的模式,有點類似於c#中的控制台。
1.先確保在電腦上下載vb6,並在安裝vb後,進入主界面。
『貳』 eclipse中debug的詳細步驟
1、首先用eclipse打開要調試的java工程中的代碼文件,在左側雙擊滑鼠設置斷點(可以設置多個斷點。
『叄』 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();
}
}
}