WinForm程序调试时,Visual Studio 2013停止工作,重新启动

今天,在调试WinForm程序的时候,每次单步运行到Json序列化对象语句时,VS就停止工作,重新启动。代码片段如下:

 //2017.10.11 xnn 格式化日期时间DateTime 否则会出现2017-09-29T14:42:10
 IsoDateTimeConverter convert = new IsoDateTimeConverter();
 convert.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";              
 (断点处)string json_task = JsonConvert.SerializeObject(task, convert);//任务json串
 string json_devices = JsonConvert.SerializeObject(devices_list);//设备信息json串

出现这种问题,以为是电脑中病毒,或者是VS环境被破坏了。结果就修复和重装VS,然而并不能解决问题。后来猜想是不是程序本身的问题。为排除VS环境问题,运行了另外的WinForm程序,其中也有类似以上Json序列化代码语句,结果调试一路畅通,事实证明问题还是应该在程序本身上。
通过反复设断点调试,发现task对象属性DT_FixInfos(是一个DataTable)有数据,大概有十几万条数据。然后就清空了数据表,结果调试通过。

//2017.11.8 xnn 清空数据,或者置为null,否则Json序列化对象是,导致VS停止工作。原因可能DT_FixInfos数据量太大
task.DT_FixInfos = null;
task.DT_SatelliteInfos = null;

//2017.10.11 xnn 格式化日期时间DateTime 否则会出现2017-09-29T14:42:10
IsoDateTimeConverter convert = new IsoDateTimeConverter();
convert.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";               
(断点处)string json_task = JsonConvert.SerializeObject(task, convert);//任务json串
string json_devices = JsonConvert.SerializeObject(devices_list);//设备信息json串

正常运行以上代码是没有问题的,不知道是不是task.DT_FixInfos数据量太大,导致程序单步调试到以上断点处VS崩掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值