推 YahooTaiwan: 崩潰的話應該要看醫生 12/22 10:37
→ 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
→ smmoon: FindallAsync 找不到所以null? 12/22 13:03
※ 編輯: james999 (220.132.128.217), 12/22/2017 13:33:40
→ james999: FindallAsync不會crash,但會在該行的下方隨機某行crash 12/22 13:40
→ smmoon: 傳回IAsyncOperation<DeviceInformationCollection> 12/22 16:07
→ smmoon: 如果dis.count == 0 那你的dis[0] 就有問題了 12/22 16:07
→ james999: 問題在每次看count都是1... 甚至有時候還沒機會到那行 12/22 16:55
→ james999: 在var dis時就崩潰了 Orz 12/22 16:55
→ james999: 把和所有有關clientSocket的操作全拿掉後,只留下.. 12/22 16:56
→ james999: StreamSocket clientSocket = null;這行,還是會有問題 12/22 16:57
→ james999: 只要把StreamSocket clientSocket = null;拿掉即正常 12/22 16:57
→ smmoon: 檢察看看硬體先 12/22 17:02
→ smmoon: 把錯誤的訊息都記下來 一個個解 12/22 17:02
推 YahooTaiwan: 你給的程式碼好像沒有寫到 clientSocket = null 12/22 17:58
→ james999: 因為clientSocket = null放在成員變數的區塊裡@@ 12/23 12:53
問題解決了,不要把new StreamSocket和開com port的程式寫在一塊就..沒事!!
具體等有空再查查,謝謝各位^^
※ 編輯: james999 (36.230.202.136), 12/23/2017 13:22:53