C_Sharp 板


LINE

會這麼問.. 是因為手邊一支可運行的程式, 收到uart的訊號後會立即調用StreamSocket區域變數, 開socket將資料丟出,完成後關閉。 但是僅僅只是將StreamSocket改為成員變數, 將new及其他connectAsync..等相關函式拿掉,沒有進行任何操作, 在本來程式運行一開始時的開串列埠時,就會崩潰... 有任何能協助我的地方嗎? 謝謝喔:) -- --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.128.217
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1513909459.A.014.html
1F:推 YahooTaiwan: 崩潰的話應該要看醫生 12/22 10:37
2F:→ YahooTaiwan: 造成 Crash 的 Exception 是什麼阿?? 12/22 10:38
System.NullReferenceException... 但是獲取串口的那段代碼並沒有任何修改, -- string aqs = SerialDevice.GetDeviceSelector(); var dis = await DeviceInformation.FindAllAsync(aqs); int i = dis.Count; DeviceInformation entry = (DeviceInformation)dis[0]; clientSocket = new StreamSocket(); HostName serverHost = new HostName(ServerIPAddress); await clientSocket.ConnectAsync(serverHost, ServerPort); try { serialPort = await SerialDevice.FromIdAsync(dis[0].Id); if (serialPort == null) return; serialPort.WriteTimeout = TimeSpan.FromMilliseconds(1000); serialPort.ReadTimeout = TimeSpan.FromMilliseconds(1000); serialPort.BaudRate = 115200; serialPort.Parity = SerialParity.None; serialPort.StopBits =SerialStopBitCount.One; serialPort.DataBits = 8; serialPort.Handshake = SerialHandshake.None; ReadCancellationTokenSource = new CancellationTokenSource(); //Listen(); -- 可能會在 var dis = await DeviceInformation.FindAllAsync(aqs); int i = dis.Count; DeviceInformation entry = (DeviceInformation)dis[0]; clientSocket = new StreamSocket(); 這其中的每一行都有可能crash.. 是我哪裡用錯了嗎?謝謝 ※ 編輯: james999 (220.132.128.217), 12/22/2017 11:44:00
3F:→ smmoon: FindallAsync 找不到所以null? 12/22 13:03
※ 編輯: james999 (220.132.128.217), 12/22/2017 13:33:40
4F:→ james999: FindallAsync不會crash,但會在該行的下方隨機某行crash 12/22 13:40
5F:→ smmoon: 傳回IAsyncOperation<DeviceInformationCollection> 12/22 16:07
6F:→ smmoon: 如果dis.count == 0 那你的dis[0] 就有問題了 12/22 16:07
7F:→ james999: 問題在每次看count都是1... 甚至有時候還沒機會到那行 12/22 16:55
8F:→ james999: 在var dis時就崩潰了 Orz 12/22 16:55
9F:→ james999: 把和所有有關clientSocket的操作全拿掉後,只留下.. 12/22 16:56
10F:→ james999: StreamSocket clientSocket = null;這行,還是會有問題 12/22 16:57
11F:→ james999: 只要把StreamSocket clientSocket = null;拿掉即正常 12/22 16:57
12F:→ smmoon: 檢察看看硬體先 12/22 17:02
13F:→ smmoon: 把錯誤的訊息都記下來 一個個解 12/22 17:02
14F:推 YahooTaiwan: 你給的程式碼好像沒有寫到 clientSocket = null 12/22 17:58
15F:→ james999: 因為clientSocket = null放在成員變數的區塊裡@@ 12/23 12:53
問題解決了,不要把new StreamSocket和開com port的程式寫在一塊就..沒事!! 具體等有空再查查,謝謝各位^^ ※ 編輯: james999 (36.230.202.136), 12/23/2017 13:22:53







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP