Time of Update: 2018-12-08
書接上回,我們開始看另外幾個命令。大家如果注意看My Code,能發現裡面既有value type,也有reference type。那麼,我怎麼查看,當前線程狀態下,我的那些變數的資訊呢?對於Managed 程式碼而言,最核心的命令就是!do(dump object的縮寫),這個!do後面是要加上你要看的變數的地址的。那麼,我怎麼知道我的變數的地址呢?先來看另外一個命令,!dso(Dump Stack
Time of Update: 2018-12-08
我們的查看對象之旅,還遠沒有結束。繼續按照前前一篇的代碼來扒皮。上節講的是通過!dso,找到所有stack上的東西,下面我們看heap上的東西。首先,整體上先來瞭解一下。我們這裡會用一個新命令,叫做!eeheap(歎號+eeheap)。它有兩個參數,一個叫-gc,一個叫-loader。後者,葡萄在他的書裡面寫過一個case,因為load的東西太多,造成了記憶體巨量的片段,導致OOM出現。對於前者,會簡單的把gc的狀態給我們列出來。當然,你也可以不加參數。我們先看!eeheap -gc0:000&
Time of Update: 2018-12-08
為什麼我們需要debug?原因大概有幾個,幾乎都是在生產環境下,我們解決不了的:1、系統就是慢。稍微懂點的客戶,拿taskmgr一看,說你的aspnet_wp.exe或者w3wp.exe佔用cpu太高,或者記憶體太高,dba到sql裡面一看,說cpu太高。sql的我以前寫過,這裡不講,對於前者.net的程式,你怎麼處理?2、cpu很低,記憶體很平穩,系統就是慢,你怎麼處理?3、很偶然的情況下,某些用戶端會提示null reference
Time of Update: 2018-12-08
看代碼先:CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1using System; 2using System.Threading; 3 4namespace HighCPU 5{ 6 class Program 7 { 8 static void Main(string[] args) 9 {1
Time of Update: 2018-12-08
網站升級後,說有High CPU的問題。mstsc上去後,看了一下,果然如此,w3wp.exe的cpu幾乎一直是滿的,我的遠端桌面操作也很慢。下載下來windbg,裝好,抓了兩個dump。首先!runaway一下,0:022> !runaway User Mode Time Thread Time 22:8cc 0 days 0:17:15.238 23:4d8 0 days 0:15:20.936 15:898 0 days 0
Time of Update: 2018-12-08
抓到一個mini dump,執行!clrstack,會提示如下錯誤:*** WARNING: Unable to verify timestamp for mscorwks.dllFailed to load data access DLL, 0x80004005Verify that 1) you have a recent build of the debugger (6.2.14 or newer) 2) the file mscordacwks.dll that
Time of Update: 2018-12-08
Business Process Manage System日益成為公司資訊管理系統重要的一部分,把握BPMs中基本元素的把握是熟悉BPMs的關鍵。個人認為BPMs中有3大要素: 1. 流程資源; 2. 流程規則; 3. 流程本身。 以人的結構為例子,流程本身類似人的骨骼,它定義工作的主要結構;流程資源類似肌肉,它使流程不至於空泛,沒有實體,它為流程創造了整體環境;流程規則類似神經脈絡,它控制流程程的實際走向,同時發起流程實際工作; 以上3個基本元素使BPMs中不能缺少。
Time of Update: 2018-12-08
AspectNet是一個基於.Net
Time of Update: 2018-12-08
SET NOCOUNT ON DECLARE @db VARCHAR(20) SET @db=db_name() -- DBCC UPDATEUSAGE(@db) WITH NO_INFOMSGS GO CREATE TABLE #tblSpace ( 資料表名稱 varchar(250) null, 記錄筆數 int null, 保留空間 varchar(1
Time of Update: 2018-12-08
原文地址:http://blogs.msdn.com/b/tess/archive/2008/02/15/net-debugging-demos-lab-3-memory.aspx操作步驟:1、產生壓力:tinyget -srv:localhost -uri:/BuggyBits/Links.aspx -loop:40002、觀察taskmgr的輸出,w3wp的記憶體每秒鐘大概增長100M。3、記憶體到700M左右的時候,抓一個hang
Time of Update: 2018-12-08
本人對AOP十分關注,也很感歎在.Net Framework 下沒有一個真正的AOP編譯器,類似AspectJ,雖然開源項目有不少項目都在做這方面的工作但現階段的成果不是很大,所以個人想開發一個這樣的工具。目前,我並沒有打算把這個工作作為開源來作,也不作為商業項目,應該算是研究性質的項目, 先介紹一下項目的情況:項目名稱:AspectCLI(暫訂)項目使用技術:GoldParser(文法分析器),.Net Framework
Time of Update: 2018-12-08
AspectNet是一個基於.Net
Time of Update: 2018-12-08
個人認為,使用SOA對細粒度的業務進行處理不合適,主要原因是SOA的設計原則強調保持無狀態,低耦合,平台無關等,這些在底層業務上說現在很難完全實現,即便實現代價很很高;而同時,BPMs則是在對細節工作管理,人與人,系統之間,人與系統處理為強項,以前的BPMs在系統之間的互動缺乏強大支援,而SOA正好趕上。由此,BPMs和SOA的結合帶來的是BPMs可以放開整合的包袱,而SOA則專心處理系統間的互動,整合等問題。
Time of Update: 2018-12-08
原文地址:http://blogs.msdn.com/b/tess/archive/2008/02/22/net-debugging-demos-lab-4-high-cpu-hang.aspx操作步驟:1、產生壓力:tinyget -srv:localhost -uri:/BuggyBits/AllProducts.aspx -threads:5 -loop:12、觀察taskmgr的輸出,w3wp的CPU為99%,這是一個典型的高CPU的Hang。抓一個hang的dump,然後等待10秒鐘,
Time of Update: 2018-12-08
在BPMs系統中資源是不可缺少的方式,BPMs的基本元素可以參考我另一篇隨筆。而資源的組織方式則是處理資源的基礎,現在大部分系統都把資源以表為單元來供使用者操作,一般它們都整合了SQL的操作方式,這樣能方便客戶操縱資源。那麼這種方式的問題是什嗎? 1. SQL是一種簡單的語言,但要熟練掌握這種語言一般只有開發人員或IT人員才會,一般的業務人員不會,這樣系統的使用程度就會打折了; 2.
Time of Update: 2018-12-08
最近一年多的時間我都在流程管理系統領域工作,雖然現在該項目處於停滯狀態,但我仍然對流程管理領域充滿希望.這一系列的隨筆由bobmazelin和他的同事這段時間工作的經驗積累而成,同時也是我們流程管理系統的介紹,如果有志同道合者隨意發表自己的想法,同時我們也需要新的活力來再次使項目推進.這是該系列的第一篇,我介紹一下系統在大體上的構架以及一些基本情況.由於該項目是商業化項目,請大家原諒我不能公開項目名稱等具有商業化意義的資料.系統能作什麼?一句話總結,
Time of Update: 2018-12-08
原文地址:http://blogs.msdn.com/b/tess/archive/2008/03/05/net-debugging-demos-lab-5-crash.aspx操作步驟:1、運行CompanyInformation.aspx2、在輸入框中輸入一個字串,如aaa,點Send按鈕3、等了幾秒鐘,IE報錯:無法顯示網頁4、抓一個crash的dump,載入SOS,看一下!threads,輸出如下: Hosted Runtime: yes
Time of Update: 2018-12-08
Premier Field Engineer - SharePoint/MOSS The purpose of the Premier Field Engineer (PFE) position is to provide Microsoft customers with reliable technical solutions to the complex integration problems associated with business solutions built using
Time of Update: 2018-12-08
最近一年多的時間我都在流程管理系統領域工作,雖然現在該項目處於停滯狀態,但我仍然對流程管理領域充滿希望.這一系列的隨筆由bobmazelin和他的同事這段時間工作的經驗積累而成,同時也是我們流程管理系統的介紹,如果有志同道合者隨意發表自己的想法,同時我們也需要新的活力來再次使項目推進.從這篇開始我會首先介紹流程資源的設計, 這篇主要介紹資源的基本概念以及資源在流程生命週期設計階段需要完成的工作.資源描述了流程中使用的資料, 它是資料庫表結構的業務表現.我還是用一個執行個體來說明,
Time of Update: 2018-12-08
原文地址:http://blogs.msdn.com/b/tess/archive/2008/03/17/net-debugging-demos-lab-6-memory-leak.aspx操作步驟:1、產生壓力: tinyget -srv:localhost -uri:/BuggyBits/ProductInfo.aspx?ProductName=Bugspray -threads:50