釋出:.NET開發人員必備的視覺化除錯工具(你值的擁有)
1:如何使用
1:點選下載:.NET視覺化除錯工具 (更新於2016-12-29 19:11:00)
(終於徹底相容了部分VS環境下無法使用的問題)
2:解壓RAR後執行:CYQ.VisualierSetup.exe 成功後關掉提示視窗即可。
PS:一次執行,支援各個VS版本,終身提高除錯的效率,而且沒任何副作用。
2:開源及後續升級地址:
舊地址:http://code.taobao.org/svn/cyqopen/trunk/CYQ.Visualizer/
3:功能介紹
1:支援字串的Json轉表格檢視:
2:支援NameValueCollection(Request.Form、Request.QueryString)、HttpCookieCollection(Request.Cookies) 表格檢視
Cookies:
Request.Form、Request.QueryString
3:其它的就不截圖,同時還支援以下型別:
1:System.Drawing.Image:(這個轉圖片檢視)
2:MDataTable系列:表、行、列、結構
3:DataTable系列:表、行、列、結構
4:泛型系列:Dictionary<,>、LinkedList<>、List<>、Queue<>、SortedDictionary<,>、SortedList<,>、Stack<>
5:非泛型系列:ArrayList、Hashtable、Queue、SortedList、Stack
6:其它繼承自:Enumerable 介面的型別:(型別太多,未來得及一一測試)
BitArray、ReadOnlyCollectionBase、HybridDictionary、ListDictionary、StringCollection、StringDictionary、BaseCollection等
4:研究過程
關於視覺化除錯這一塊內容,網上一搜,相關的資訊全部是我自己以前發過的文章,悲催就一個字。。。。
看來沒啥人研究這一塊,好在蒼天不負有心人,還是被我突圍了。。。。。
能出來這麼簡易的工具,經歷的過程是:
2:收集了不同的VS版本的DLL(Microsoft.VisualStudio.DebuggerVisualizers.dll)。
4:想到了複製多個專案檔案來實現多個VS版本編繹(如果想不到這個,估計也不會折騰):
5:解決了系列化問題(才能大規模的支援各種型別):
預設情況下,不支援系列化的類是不支援視覺化的,因此,想支援DataRow檢視都不行,會直接拋異常。
為了解決這一問題,進行了網際網路搜尋(相關資訊,國內基本是我自己的文章,國外好不容易搜到一篇)。
通過研究,終於解決了這一難題:
public class EnumerableVisualizerObjectSource : VisualizerObjectSource { public override void GetData(object target, System.IO.Stream outgoingData) { if (target is NameObjectCollectionBase) { target = MDataTable.CreateFrom(target as NameObjectCollectionBase); } else { target = MDataTable.CreateFrom(target as IEnumerable); } base.GetData(target, outgoingData); } }
自定義資料來源,在設定資料來源時,把物件轉換成MDataTable,再由MDataTable去系列過去。
6:MDataTable要支援和大量型別的轉換工作(這些年的工作已經完成了不少,只需要再補全即可)。
總結:
上一篇文章釋出的時候,有網友還看不懂是用來幹什麼,一個唉~~~字了了。
這一次,在集滿了所有的條件之下,花了一天的研究時間,直接寫成了工具分享給你。
而你只要下載,再輕輕雙擊一下,就得能得良好的除錯體驗!
在你開發除錯的過程中,可以很輕鬆的檢視變數的所有資料!!!
媽媽再也不用擔心你的除錯能力了~~~
不要問我理由~~~我不是雷鋒塔下的雷~~~