日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java debugtrace_Debug与Trace的区别

發布時間:2023/11/27 生活经验 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java debugtrace_Debug与Trace的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.首先要明白Debug與Trace的區別:

1. Debug.Write和Trace.Write有什么不同?何時應該使用哪一個?

Debug類提供一組幫助調試代碼的方法和屬性。Trace類提供一組幫助跟蹤代碼執行的方法和屬性,通俗的說就是為在不打斷程序的調試或跟蹤下,用來記錄程序執行的過程。

Debug只在debug狀態下會輸出,Trace在Release下也會輸出,在Release下Debug的內容會消失。

2. Debug Build和Release Build的區別,是否會有明顯的速度變化?請說明理由。

首先以一個表格說明問題:

項目

Debug

Release

條件編譯常數

Debug;Trace

Trace

優化代碼

False

True

輸出路徑

bin\Debug

bin\Release

生成調試信息

True

False

Debug模式下生成的程序集為調試版本,未經優化;在bin\debug\目錄中有兩個文件,除了要生成的.exe或.dll文件外,還有個.pdb文件,這個.pdb文件中就記錄了代碼中的斷點等調試信息;Release模式下不包含調試信息,并對代碼進行了優化,\bin\release\目錄下只有一個.exe或.dll文件。在項目文件夾下除了bin外,還有個obj目錄。編譯是分模塊編譯的,每個模塊的編譯結果就保存在了obj目錄下。最后會合并為一個exe或者dll文件保存到bin之中。因為每次編譯都是增量編譯,也就是只重新編譯改變了的模塊,所以這個obj的目錄的作用就是保存這些小塊的編譯結果,加快編譯速度。

二.Trace and Bug Sample

using System;

using System.Diagnostics; //引入Debug類所在命名空間

namespace traceanddebug

{

class TestDebug

{

public static void TestDebugMethod()

{

Debug.Listeners.Add(new TextWriterTraceListener(Console.Out));

//將Debug類輸出定向到控制臺輸出

Debug.AutoFlush = true;

//設置Debug為自動輸出,即每次寫入后都調用Listeners上調用Flush

Debug.Indent();

//設置縮進

Debug.WriteLine("Debug WriteLine()");

//用Debug輸出"Debug WriteLine()"

Console.WriteLine("Console.WriteLine()");

//用Console輸出"Console.WriteLine()"

Debug.Unindent();

//取消縮進

//Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));

//將Trace類輸出定向到控制臺輸出

//Trace.AutoFlush = true;

//設置Trace為自動輸出,即每次寫入后都調用Listeners上調用Flush

Trace.Indent();

//設置縮進

Trace.WriteLine("Trace WriteLine()");

//用Trace輸出"Trace WriteLine()"

Console.WriteLine("Console.WriteLine()");

//用Console輸出"Console.WriteLine()"

Trace.Unindent();

//取消縮進

Console.Read();

}

}

class Program

{

static void Main(string[] args)

{

TestDebug.TestDebugMethod();

}

}

}

三.? C#將Trace,Debug信息輸出到控件上(轉)

主要實現方法,繼承TraceLinster類,重寫構造參數,重寫Write和WriteLine方法就可以了,具體代碼如下:

public class ControlTraceListener : TraceListener

{

private Control _control;

private StringSendDelegate _invokeWrite;

private delegate void StringSendDelegate(string msg);

public ControlTraceListener(Control target)

{

_control = target;

_invokeWrite = new StringSendDelegate(SendString);

}

public override void Write(string message)

{

_control.Invoke(_invokeWrite, new object[] { message });

}

public override void WriteLine(string message)

{

_control.Invoke(_invokeWrite, new object[] { message + Environment.NewLine });

}

private void SendString(string msg)

{

// No need to lock control as this function will only

// ever be executed from the UI thread

_control.Text += msg;

}

}

總結

以上是生活随笔為你收集整理的java debugtrace_Debug与Trace的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美一级片 | 那里可以看毛片 | 美女天天干 | jizz欧美大全| 免费国产视频在线观看 | av在线免费网址 | 性盈盈影院中文字幕 | caoporn成人| 青青草免费观看视频 | 91成人福利在线 | 日本一级三级三级三级 | 麻豆精品一区 | 天天干天天干天天干 | 伊人365影院 | 爱爱免费网址 | 国产精品人| 美女自卫网站 | 欧美激情一级 | 亚洲综合国产 | 三级第一页 | 欧美熟妇一区二区 | 欧美成人aa | 7x7x7x人成影视 | 热九九精品 | www.色午夜| 手机在线看片1024 | 香蕉久久一区二区三区 | 激情欧美在线 | 黄色国产大片 | 伊人91视频 | 婷婷伊人五月 | 性高跟鞋xxxxhd国产电影 | 奇米精品一区二区三区在线观看 | 九九热在线视频 | 国产v在线 | 成人免费视频国产在线观看 | 91在线不卡 | 二区在线播放 | 性感美女在线 | 久久99久久99精品免观看软件 | 国产精品亚洲一区二区无码 | 日本在线不卡一区 | 欧美亚洲国产成人 | 一级黄色网址 | 白又丰满大屁股bbbbb | 国内精品国产成人国产三级 | 久久久99精品国产一区二区三区 | 日本黄色xxxxx| 欧美xxxx网站| 国产精品com| 亚洲成人精品网 | 91国偷自产一区二区三区观看 | 久久1024| 桃色激情网 | 一区二区三区麻豆 | 伊人免费 | 黄页网站视频 | 成人一级视频 | 精品人妻一区二区三区含羞草 | 国产成人亚洲综合a∨婷婷 台湾a级片 | 一本到视频| 日韩国产在线一区 | 伊人网久久久 | 亚洲成人视屏 | 777奇米四色 | 欧洲成人在线观看 | 色欲人妻综合网 | 麻豆国产精品一区 | 亲子乱子伦xxxx | 亚洲自拍成人 | 色男人的天堂 | 国产网站免费在线观看 | 在线黄色网 | 三级视频在线看 | 国产精品久久久久久亚洲色 | 四虎精品一区二区 | 国产精品夫妻 | 国产精品免费无遮挡无码永久视频 | 国内自拍xxxx18 | 一区二区三区天堂 | 国产精品成人免费精品自在线观看 | www.日韩欧美| 日本视频免费观看 | 成人网站在线进入爽爽爽 | 欧美午夜精品久久久久久孕妇 | 日韩一区二区三区在线观看 | 日韩av综合网站 | 91亚洲专区 | 国产欧美综合视频 | 日韩激情一区 | 日韩一区二区三区精 | 免费一级特黄3大片视频 | av大全在线观看 | 人人人人爽 | 99精品视频国产 | 蜜桃精品一区二区 | 精品免费囯产一区二区三区 | 亚洲精久 | 女人免费视频 |