本人本地遇到了一个1073741819 (0xC0000005)问题。详细记录下过程:
程序结构是一个界面程序,通过按键启动底层的一个烧录固件的过程,烧录过程较长,为了便于观察,我在底层的烧录过程中加了一个进度条。
为了改变此进度条,我将界面ui对象直接传给了底层的烧录程序。烧录过程中大概率出现1073741819 (0xC0000005)。
后改为传一个信号给底层程序,当需要改变进度条时,给界面程序发信号即可。改了之后,不会再出现此问题。
原因:界面不是锁死的,当烧录过程中,如果我点击了ui界面的按键或者切换串口,ui对象的值都会发生变化,而此时底层的程序正在以这块内存为参数进行调用,你却改变了其中的值,这在内核来说时不被允许的内存行为。个人愚见,欢迎指教