精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

關于排錯:專注思考,細心觀察,步步為營

開發 測試 后端
在很多時候,我發現許多朋友還缺乏最基本的解決問題,分析問題的方式。其實我在平時工作中也會遇到各種各樣的問題,有時候甚至異常古怪,但是在仔細分析之下,往往都能解決。于是我現在打算談點解決問題的基本方式,希望可以幫到一些朋友。

時常有朋友發郵件給我,說遇到了一個什么什么奇怪的問題,不知道是怎么回事,希望我幫忙看看。我基本上每天都會抽出或長或短的時間來回復這些郵件,不過也經常發現,其實許許多多的問題都完全是有能力自行解決的。在很多時候,我發現許多朋友還缺乏最基本的解決問題,分析問題的方式。其實我在平時工作中也會遇到各種各樣的問題,有時候甚至異常古怪,但是在仔細分析之下,往往都能解決。于是我現在打算談點解決問題的基本方式,希望可以幫到一些朋友。

如果您也有著方面的體會,也可以分享一下,即使是某個簡單案例也是很有幫助的。

要解決問題,首先是要定位問題,配合正確的推理方式,再仔細分析,“動手嘗試”很可能只是驗證推理是否正確的手段而已,其實大部分的情況都可以用思考來得出(或排除)。要定位問題,很重要的一點便是要把概念理清。很多朋友會輕視概念,認為那種“理論”有什么重要的,最關鍵的是“動手”——但殊不知概念能讓您的“動手”少走很多彎路。

例如,在一個問題出現之后,我往往會心想,這到底是“開發時”還是“運行時”的問題。我們在做開發時會用到許多概念,有些是“開發時”的概念,有些則是“運行時”的概念。我們開發會用到很多工具,Visual Studio是一個大工具,但是它也會把很多功能,如“編譯”等操作委托給外部的命令,VS只負責捕獲那些輸出而已。而在運行的時候,根本不會關VS什么事情。之前我寫過一篇文章,指出csproj,sln等等都是開發時的概念,它們離開了Visual Studio,MSBuild等開發工具之后,就沒有任何作用了。同樣,“項目模板”也是Vistual Studio才知道的東西,而運行的根本不會關心所謂的ASP.NET Web Site還是Web Application。

于是,許多問題的排錯就可以有大致的方向了。許多做ASP.NET的朋友都會問:“為什么我創建的ASP.NET AJAX項目可以運行”,但是用“ASP.NET Web Application”創建的項目就沒法使用ASP.NET AJAX了呢?很明顯,這個問題的關鍵不在“使用什么模板創建的項目”,而是這個項目中的內容是否可以執行,更確切地說,是某個文件夾下的內容能否使用 ASP.NET AJAX——因為對于IIS來說,它不會關心“項目”(也就是csproj文件)在管理哪些資源,它只知道“網站目錄”。

好,既然知道是網站內容的問題,那么接下來就應該比較的是“一個可以運行的網站”和“一個不能運行的網站”究竟有什么區別。ASP.NET站點最關鍵的東西便在于web.config,“能夠運行”往往也是web.config來決定的。例如,你有沒有正確配置HttpModule或HttpHandler。在許多情況下,解決了ASP.NET站點的web.config,問題也就解決了大半。同樣的情況還會有,為什么同樣的代碼(標記)在有的aspx上就能解析成功,有的就不行?那可能是web.config中沒有引入正確的control標記或命名空間造成的。

有朋友可能會說,你知道 web.config的那么多節點是做什么的,自然容易排錯,我都不知道,怎么知道問題在哪里?其實,我也不知道很多東西,但是我會比較。我一開始用VS 寫F#程序的時候,都只是用一個文件來練習。后來想要用多個模塊了,于是就創建新的源文件。但是我發現,main方法總是說寫在新文件里的模塊“還沒有定義”,這讓我很困惑。于是乎,我去網上找一些示例——不是普通代碼片斷,而是一些用VS編輯的小型項目,它們自然是能夠編譯通過的。例如,我拿到了項目 A,我就開始比較它和我的寫法究竟有什么問題——觀察下來沒有任何收獲,我還是覺得我的做法沒有任何問題。于是我嘗試著在A項目中添加我的模塊——奇怪,在A的main方法中還是訪問不到新模塊——這不是欺負人么!

于是我進行更深入的比較,比較除了源文件之外,它的項目設置和我的項目設置有什么區別——還是沒有!我抱著最后一絲希望,將A項目中的代碼添加到我的項目中來,編譯,還是失敗!但是看到這個結果,我反而看到了解決問題的曙光。因為我都已經把源代碼統一了,這樣可能發生錯誤的地方可謂少之又少。剛才我提到,VS將編譯工作交給外部命令執行,對于F#也一樣。于是我就比較項目A和我的項目在編譯時的輸出,終于發現兩者的區別在于調用fsc.exe的時候,參數順序不同。F#的編譯器和C#編譯器不同的地方在于,它對源文件指定的順序是有要求的,只有放在后面文件中的代碼才能訪問到前面文件中定義的內容,反之則不行。這意味著,main方法必須作為最后一個源文件存在。但是,VS并沒有提供一個選項來調整源文件的順序,既然這樣,那就手動編輯fsproj文件吧。至此,問題解決。

我被這個問題困擾很久的原因,就是在于我從來沒有去懷疑過F#編譯器對源文件的指定順序是有要求的。我之前也觀察過fsc.exe的參數,但是并沒有“看出”什么問題出來。但是,我會和一個成功的項目慢慢比較,把我的項目和它慢慢靠攏,我用這種方式排除了各種錯誤可能性,最終把我的關注點又“逼迫”到編譯器的參數上。進行比較,嘗試,最終解決問題。再此之前,我也不知道這一點,不是嗎?您其實也一樣,如果遇到了一個奇怪的問題,沒關系,找一個成功的案例,詳細比較為什么它能行而我不行,慢慢地向它靠攏。最終解決問題的時候,就是你獲得新知識的時候。這樣,你的“經驗”增加了。

類似的做法還有:不時有朋友會問到,它的 WebForm項目出現了這樣那樣的問題,例如在PostBack之后事件沒有執行,狀態沒有恢復,讀不到某個值等等。從我的經驗上來說,這是遇到了生命周期的問題。但是,生命周期是個復雜的玩意兒,除非我親手進行嘗試,我也不可能知道某個特定項目特定問題的解決方案。其實對于這種問題,最好的方法之一,便是從最簡化的模型開始嘗試。例如,您可以準備一個空白頁面,添加一些控件和代碼,執行,成功。然后,您將這個簡單的頁面向您的項目進行靠攏,一次增加一小部分,然后執行看看是否成功。直到某段代碼添加之后發現失敗了,您就知道到底是什么原因引起的。可能是新的代碼有問題,也可能是新代碼讓之前代碼的問題暴露出來了。

對于排錯來說,最關鍵的是思考和分析,而不是動手。我有時候見到一些同事在遇到錯誤之后就開始盲目地修改代碼,重試,最后就算把問題碰對了,時間也浪費了——而且還可能把原有正確的地方改壞了。要進行思考和分析,就要細心觀察,例如您有沒有看清異常的信息是什么?有沒有順著InnerException一級一級往下看,看看最終是哪行代碼出的問題?如今的框架,一般都會把錯誤信息寫的非常完整。記得之前做WCF的時候,它甚至會告訴你可以嘗試著修改配置中的哪個節點!如果您直接忽視這些,就喪失了第一手信息了。

還有,別怕英文,就個錯誤信息而已,沒幾個詞的。

但是我可以這么說,許多朋友都缺少思考。因為從他們給我的郵件上來看,根本沒有把問題描述清楚。我相信“如果說不清楚,那說明沒想清楚”。事實上,如果能把問題描述清楚了,一般也可以找出用什么關鍵字去搜索引擎上查找信息。我很奇怪,許多朋友還不會用搜索引擎,例如他們會對搜索引擎說很長一句話,而不是提取出中間的“關鍵字”進行查詢。更嚴重的問題是“造詞”。例如“注入”,這個詞很流行啊,腳本注入,SQL注入。于是很多人在提問的時候也一直“注入”,但事實上他的問題和任何一種“現存的注入”的含義都不同。當然,您覺得這是“注入”也沒有關系,但是至少描述一下在您的場景下“注入”是什么意思,對不對?而且,如果你用“注入”去搜索引擎上查詢,就會發現基本上找不到你想要的東西,因為“注入”這個詞在互聯網上有別的含義,它和你的含義完全不同,又能給你什么信息呢?

此外,查到內容之后,也要進行基本的信息篩選。例如,一些小站,垃圾站的信息就不要關心了吧。直接找一些著名的大站,如官方社區,文檔,博客就行了。

最后一點是為我個人而說的。如果您希望讓我分析代碼,還請把所有可運行的東西打一個包給我,并告訴一個略為詳細的步驟,讓我可以直接雙擊打開編譯執行并重現問題。如果您只給我一個代碼片斷,還無法編譯通過,或者還需要我自己去補充各類庫,那我就只能說聲抱歉了。同樣,如果涉及到數據庫,那么請給一個用于創建腳本和測試數據的SQL文件。此外,如果項目太大,最好也新建一個項目,只放一些核心的東西即可,關鍵在于重現問題。而且就我個人經驗來說,經過“提煉” 之后,說不定您自己就已經發現問題所在了。

原文鏈接:http://www.cnblogs.com/JeffreyZhao/archive/2009/10/14/about-debugging.html

責任編輯:林師授 來源: 博客園
相關推薦

2011-07-09 16:43:22

激光打印機技巧

2020-12-14 18:07:18

云計算云遷移IT

2019-05-15 12:57:34

網易企業業務人工智能

2012-02-09 09:19:21

阿里巴巴云計算華為

2010-10-25 10:38:51

云計算

2023-06-09 16:49:14

2013-03-28 11:43:54

英特爾架構手機

2024-03-25 08:45:18

郵件發送Spring應用程序

2012-04-16 14:50:18

華為服務器

2019-10-18 15:55:34

5G蘋果華為

2019-05-23 10:32:33

網易企業業務人工智能

2017-07-19 10:22:07

2011-09-09 14:52:55

2013-03-28 11:15:44

2024-09-26 19:00:54

2024-03-11 08:34:43

同步異步調用

2016-05-17 17:21:30

睿碼科技 社交大數

2019-09-24 14:18:34

人工智能AI
點贊
收藏

51CTO技術棧公眾號

国产手机视频在线观看| 国产精品亚洲美女av网站| 少妇献身老头系列| 川上优av中文字幕一区二区| 91女人视频在线观看| 国产精品99免视看9| 伊人在线视频观看| 狼人天天伊人久久| 欧美体内she精视频| 熟女视频一区二区三区| 少妇高潮久久久| 久久99伊人| 欧美精品中文字幕一区| 波多野结衣av在线免费观看| 成人污版视频| 欧美日韩国产色| 亚洲精品永久www嫩草| 亚洲第一色视频| 美女视频一区二区三区| 91高清在线免费观看| 美女爆乳18禁www久久久久久| 国产一区二区久久久久| 色老综合老女人久久久| japanese在线播放| 国产福利在线视频| 成人18视频日本| 91青草视频久久| 中文字幕av影院| 欧美色图麻豆| 日韩三级成人av网| 中文字幕国产专区| 女人抽搐喷水高潮国产精品| 欧美一区二区网站| 手机在线免费观看毛片| 激情国产在线| 亚洲一卡二卡三卡四卡 | 青青草国产免费| 97视频在线观看网站| 久久久亚洲欧洲日产国码αv| 国产成人av一区二区三区| 在线观看免费高清视频| 视频一区免费在线观看| 日本不卡高字幕在线2019| 久久精品视频9| 欧美一区视频| 久久成人精品视频| 国产午夜精品理论片在线| 欧美在线观看视频一区| 亚洲天堂男人的天堂| 一区二区视频观看| 欧美激情影院| 亚洲精品国产免费| 国产人妻黑人一区二区三区| 99国产精品免费网站| 日韩免费一区二区| 国产伦精品一区二区三区妓女下载| 24小时成人在线视频| 欧美日韩国产首页| 中文字幕天天干| 欧美一级做a| 制服丝袜亚洲播放| 毛片毛片毛片毛片毛| 精品一区二区三区视频在线播放 | 91精品国产高清自在线看超| 日本熟女一区二区| 99综合视频| 欧美一级在线播放| 亚洲av无码不卡| 日韩高清中文字幕一区| 国产欧美精品日韩精品| 国产精品乱码久久久| 国产在线国偷精品免费看| 成人国产在线视频| 亚洲h视频在线观看| 成人动漫av在线| 欧洲av一区| 在线视频1区2区| 亚洲精品一二三| 国产不卡一区二区视频| 成人美女视频| 欧美人体做爰大胆视频| 天天干天天曰天天操| 成人直播在线观看| 亚洲欧洲日韩国产| 国产在线观看免费视频软件| 欧美大片专区| 国产91精品久久久久久| 中文字幕在线一| 国产91高潮流白浆在线麻豆| 乱色588欧美| 老司机福利在线视频| 亚洲无线码一区二区三区| 国产免费视频传媒| 久久久久久爱| 亚洲美女视频网站| 中文字幕在线2021| 先锋影音久久久| 成人国产亚洲精品a区天堂华泰| 高潮毛片7777777毛片| 99久久精品情趣| 在线观看欧美一区| 麻豆免费版在线观看| 欧美日韩精品一区二区三区四区| 91超薄肉色丝袜交足高跟凉鞋| 国产一区二区三区天码| 欧美激情女人20p| 中文字幕一区二区三区四区免费看 | 亚州男人的天堂| 国产精品护士白丝一区av| 成人免费视频91| crdy在线观看欧美| 亚洲视频在线视频| 国产精品第72页| 极品尤物av久久免费看| 麻豆av福利av久久av| 麻豆视频网站在线观看| 欧美日韩精品二区| 少妇极品熟妇人妻无码| 水蜜桃久久夜色精品一区| 91av视频在线观看| www黄色网址| 18成人在线观看| 农村妇女精品一二区| 国产精品视屏| 久久99国产精品久久久久久久久| 瑟瑟视频在线免费观看| 99久久国产综合精品色伊| 老司机午夜网站| 美女视频一区| 在线看日韩av| 久久久久亚洲视频| 91麻豆蜜桃一区二区三区| 香港三级日本三级a视频| 中文成人在线| 菠萝蜜影院一区二区免费| 无码一区二区三区| 91女神在线视频| 人妻有码中文字幕| 日本天堂一区| 91超碰中文字幕久久精品| 男人天堂网在线视频| 亚洲一区成人在线| 黄色性视频网站| 亚洲一级影院| 国产一区二区三区高清| 波多野结衣在线高清| 精品日韩一区二区三区| 欧美日韩成人免费观看| 国产精品乡下勾搭老头1| 最新av在线免费观看| 欧美xxxx性| 日韩最新中文字幕电影免费看| 中文永久免费观看| 中文在线资源观看网站视频免费不卡| www.99在线| 成人毛片在线| 成人免费xxxxx在线观看| 黄色片免费在线观看| 欧美一区二区在线视频| 久久中文字幕无码| 99久久99久久免费精品蜜臀| 日本久久久精品视频| 亚洲妇女av| 国产精品热视频| 黄a在线观看| 欧美va亚洲va| 免费av网站在线| 亚洲国产成人私人影院tom| 中文字幕亚洲欧洲| 你懂的国产精品| 狠狠色综合网站久久久久久久| 一个人www视频在线免费观看| 国产午夜精品全部视频在线播放| 丰满人妻一区二区三区四区| 综合欧美一区二区三区| 黄页网站在线看| 亚洲女优在线| 在线观看成人一级片| 成人午夜网址| 国产精品久久久久久亚洲影视 | 欧美精品momsxxx| 国产精品啪视频| 黄色小说在线播放| 亚洲性无码av在线| 99精品在线看| 亚洲va韩国va欧美va精品| 免费一级做a爰片久久毛片潮| 久久国产精品一区二区| 欧美精品久久久久久久自慰| 久久av中文| 9a蜜桃久久久久久免费| xxx欧美xxx| 欧美不卡视频一区发布| 人成在线免费视频| 欧美一区二区成人| 男人天堂2024| 亚洲精品欧美在线| 麻豆av免费观看| 国产99久久久精品| 激情五月婷婷久久| 亚洲狠狠婷婷| 黄频视频在线观看| 免费精品国产的网站免费观看| 91亚洲精华国产精华| 在线看片福利| 欧美国产第一页| av在线资源站| 精品一区二区三区四区在线| 国产精品-色哟哟| 在线日韩国产精品| 国产手机在线视频| 亚洲欧美一区二区久久 | 亚洲欧美另类久久久精品| 搡老熟女老女人一区二区| 国产一区二区不卡在线| 日日摸天天爽天天爽视频| 精品福利av| 乱熟女高潮一区二区在线| 99精品在线免费在线观看| 欧美国产二区| 嫩草国产精品入口| 99热最新在线| 精品一级视频| 亚洲a区在线视频| 日韩午夜电影免费看| 欧美专区在线播放| zzzwww在线看片免费| 久久99久久亚洲国产| 日本在线免费| 中文字幕欧美视频在线| 黄色av网址在线免费观看| 亚洲精品成人久久电影| 亚洲精品中文字幕成人片| 91麻豆精品国产91久久久使用方法| 成人一二三四区| 在线视频中文字幕一区二区| 日韩不卡视频在线| 婷婷久久综合九色国产成人 | 在线免费观看日韩欧美| 成年人视频在线免费看| 天天色图综合网| 欧美一二三区视频| 精品电影在线观看| 国产特黄大片aaaa毛片| 亚洲不卡av一区二区三区| 精品少妇theporn| 亚洲在线一区二区三区| 青娱乐国产在线视频| 一区二区在线免费观看| 劲爆欧美第一页| 亚洲国产欧美在线人成| 日本少妇激情舌吻| 欧美日韩中国免费专区在线看| 久久久久久久久影院| 色哟哟在线观看一区二区三区| 日本天堂网在线| 欧美在线影院一区二区| 中文字幕黄色av| 欧美一区二区在线免费观看| 精品人妻一区二区三区日产乱码 | 成人黄色av网站| 精品午夜视频| 好吊色欧美一区二区三区| 竹菊久久久久久久| 日韩.欧美.亚洲| 亚洲一区二区三区| www污在线观看| 亚洲私人影院| 成年人网站大全| 久久精品99国产精品| 精品人妻一区二区三| 99久久99精品久久久久久| 波多野结衣办公室33分钟| 亚洲国产成人在线| 欧产日产国产v| 欧美视频裸体精品| 亚洲视频久久久| 欧美videos中文字幕| 黄色小视频在线免费观看| www.日韩欧美| a毛片不卡免费看片| 国产第一区电影| 日本免费一区二区三区视频| 国产精品视频在线免费观看| 国产午夜一区| 三上悠亚免费在线观看| 香蕉久久夜色精品国产| 亚洲三级在线观看视频| 不卡一区中文字幕| 538精品视频| 亚洲一区二区三区小说| 好吊色在线视频| 欧美草草影院在线视频| 国产午夜在线观看| 欧美精品videossex性护士| 日本欧美日韩| 成人免费视频网站| 全球成人免费直播| www插插插无码视频网站| 久久99精品国产.久久久久| 国产不卡一二三| 一色屋精品亚洲香蕉网站| 欧美啪啪小视频| 日韩欧美一级片| 在线视频婷婷| 日韩美女中文字幕| 国产精品久久久久久久久久白浆| 视频一区二区三区在线观看| 亚洲精品激情| 超碰人人cao| 国产精品美女久久久久久| 91视频免费网址| 精品久久久久久久久久久院品网| 91亚洲精选| 国产成人欧美在线观看| 国产精品x8x8一区二区| 免费成人深夜夜行网站视频| 米奇777在线欧美播放| 99re这里只有| 一区二区三区在线免费| 国产又粗又猛又爽| 中文字幕不卡av| 裤袜国产欧美精品一区| 国产一区二区在线网站| 欧美三级在线| 久久久久久无码精品人妻一区二区| 中文在线一区二区| 国产主播第一页| 国产丝袜精品视频| 中文字幕高清在线播放| 国产一区二区不卡视频在线观看| 国产一区二区中文| 肉色超薄丝袜脚交| 自拍偷自拍亚洲精品播放| 影音先锋国产资源| 亚洲最大在线视频| 欧美日韩精品免费观看视欧美高清免费大片 | 国产一线二线三线女| 国产一区视频网站| 精品无码久久久久成人漫画| 在线播放中文一区| 97影院秋霞午夜在线观看| 成人免费视频在线观看超级碰| 日韩欧美伦理| 国产精品嫩草影院8vv8| 中文字幕一区二区日韩精品绯色| 91成人在线免费| 久久亚洲精品一区| 国产精品日本一区二区不卡视频| 中文字幕av导航| 国产精一区二区三区| 欧美日韩在线国产| 精品99999| 日本不卡网站| 日韩精品欧美在线| 久久精品国产精品青草| 久久国产高清视频| 日韩欧美久久久| 91色在线看| 欧美日韩一区二区视频在线观看| 欧美专区18| 91制片厂在线| 欧美mv和日韩mv国产网站| 爱啪视频在线观看视频免费| 久久大片网站| 日产欧产美韩系列久久99| 四虎影视一区二区| 欧美一区二区三区小说| av资源在线| 色999五月色| 国产自产视频一区二区三区| 久久国产免费观看| 亚洲欧美精品在线| 国产综合色激情| 久久综合久久网| 久久看人人爽人人| 国产精品国产精品国产专区| 色综合91久久精品中文字幕 | 国产一级18片视频| 色婷婷综合成人| jizz国产精品| 日韩精品一区二区三区不卡 | 妞干网在线观看视频| 欧美激情一区二区在线| 国产强伦人妻毛片| …久久精品99久久香蕉国产| 欧美一区二区三| 2018国产精品| 欧美少妇bbb| 丁香花高清在线观看完整版| 欧美综合77777色婷婷| 国产成a人亚洲| 日本视频www色| 亚洲91精品在线| 婷婷综合伊人| 国产熟妇搡bbbb搡bbbb| 欧美一级精品大片| 91精品影视| 日韩欧美一区三区| 亚洲免费在线视频|