none
程式Crash掉的問題 RRS feed

  • 問題

  • 我是用VS2010的IDE

    使用WPF做UI,執行的環境是XP

    目的是要用RS232收發資料

    奇怪的是,程式run起來以後會莫名地掛掉,有時候10分鐘,有時候一兩小時,有時候一下下就掛了

    有在每一個thread裡面加了try catch

    也設定了AppDomain.CurrentDomain.UnhandledException

    但是還是抓不到這一個當機的問題

     

    當掉之後出現的對話框,按下要送給微軟的按鈕以後

    出現了一段看起來很像是錯誤的訊息

    錯誤簽名:   _______________________________________

    AppName:QQ.exe   AppVer1.0.0.0   AppStamp:4e83edc1

    ModName:mscorwks.dll  ModVer:2.0.50727 ModStamp:4d8c187e

    fDebuger:0 Offset:0000e5e4

    _____________________________________________________

    如果這一段不是錯誤訊息,還有方法可以catch到嗎??

    2011年9月29日 下午 12:35

解答

  • 用工作管理員看看執行緒數,破 500 的話是執行緒爆了~ 上限是 512
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年9月29日 下午 03:03

所有回覆

  • Memory Leak ?
    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2011年9月29日 下午 01:09
    版主
  • 我是有用到byte[] read = new byte[10];

    的陣列,也確實會有Memory Leak

    但是就算我漏寫了catch

    那在AppDomain.CurrentDomain.UnhandledException的時候也會留下訊息

    應該不至於什麼都沒有發生

    程式就掛掉了

    2011年9月29日 下午 01:12
  • 有用到 P/Invoke 呼叫Win32 API嗎 ? 如果是掛在 Win32 API, 有可能會抓不到.

    照你的描述, 我也只能就可能性猜猜看.

    我在Windows Forms Application 寫過還滿多關於使用RS232收發的程式, 倒還沒遇過這樣的現象.

    如果想要確認是否WPF會造成這樣的問題, 不妨另外建一個Windows Forms Application 專案來測看看.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2011年9月29日 下午 01:25
    版主
  • 也沒有用到P/Invoke 呼叫Win32 API

    很單純全部都是.NET的東西

    會不會是電腦環境的問題,我在別台電腦上面跑都不會這樣當機說

     

    我也是在想會不會WPF自己的問題,如果是這樣

    那只能說舊愛才是最美了


    • 已編輯 oven425 2011年9月29日 下午 01:33
    2011年9月29日 下午 01:30
  • 試試看, 我也很想知道結果是什麼.
    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2011年9月29日 下午 01:31
    版主
  • 用工作管理員看看執行緒數,破 500 的話是執行緒爆了~ 上限是 512
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年9月29日 下午 03:03
  • 我收RS232的資料是靠一個SerialPort的事件收的

    我看msdn裡面說,他有可能會開thread來說

    如果在接收的時候資料有問題,我就會return掉

    但是沒有清掉接收端buffer裡面的資料

     

    所以理論上應該會馬上收到下一次RS232的事件要收資料

    如此一直不斷循環好像真的會把thread爆掉

     

    明天我再試試看

    2011年9月29日 下午 03:25
  • Oven:

    結果怎麼樣了 ?


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2011年10月13日 下午 05:41
    版主