首页 新闻 会员 周边 捐助

c#中为什么加上断点运行和直接运行结果不一样啊?

0
[待解决问题]

private void button校正2Setting_Click(object sender, EventArgs e)
{
断点处 string flag = controller.PHcodeConvert("AT+ADJ+2\r\n");
if (flag == "+ADJ=FAULT")
{
toolStripLabelmode.Text = "PH模式: 读取模式";
MessageBox.Show("PH模式: 读取模式");
}
}
public string PHcodeConvert(string data)//另外一个类里面的函数
{
string a = IController.String2Hex(data);//string转 Hex string
byte[] b = IController.Hex2Bytes(a);
byte[] c = SendDataToCom(b);
string d = IController.Bytes2Hex(c);
string f = IController.Hex2String(d);
return f;
}
调试时候flag等于“+ADJ=FAULT”,但是直接运行时候显示flag为空,求大神指教,万分感谢

C#
dulinjun的主页 dulinjun | 菜鸟二级 | 园豆:202
提问于:2020-07-08 20:30
< >
分享
所有回答(3)
0

调试跟直接运行肯定 没啥区别,所以肯定是你代码或者什么操作导致的

winds_随风 | 园豆:156 (初学一级) | 2020-07-09 10:57
0

区别就是DEBUG还是RELEASE,看看发布之后是不是release版本的

0539 | 园豆:442 (菜鸟二级) | 2020-07-11 13:53
0

有的时候代码里面有其他线程异步运行,在你打断点的时候并不一定会中止异步线程的执行,然后其他线程的运行结果会影响你断点的当前线程的值,就会造成您说的这种打了断点和不打断点结果不一样的请况出现了

水心镜台 | 园豆:247 (菜鸟二级) | 2020-10-26 15:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册