日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MFC程序提示 0xC0000005: 读取位置 0x00000020 时发生访问冲突。

發布時間:2023/12/18 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MFC程序提示 0xC0000005: 读取位置 0x00000020 时发生访问冲突。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個bug困擾我兩天了,我在win7下開發的MFC程序,在win7下一只運行良好,放到同事的win10機子上就出問題了,在點擊按鈕彈出子窗口時必崩,在win7下仔細調試才發現:調用DoModal()后 ,會輸出“ 0xC0000005: 讀取位置 0x00000020 時發生訪問沖突 ” 但程序沒有崩潰,win10則是直接報錯崩潰。上網百度,類似問題的也不少,但是沒有固定的解決方案,分析可能原因是使用空指針導致程序崩潰。沒辦法就用排查法,一段一段檢查問題,最后發現是ON_WM_SIZE消息中調用初始化函數出的問題,在DoModal()后自動觸發ON_WM_SIZE消息事件,其中有未判斷就使用的指針調用,:
?? ??? ?((CButton *)GetDlgItem(IDC_RADIO_ALL_PLAYER))->SetCheck(TRUE);//選上?? ??? ?((CButton *)GetDlgItem(IDC_RADIO_NEW_PLAYER))->SetCheck(FALSE);//不選上
改成這樣調試發現果然是指針的問題,直接跳過,沒有報錯!
?? ?if (GetDlgItem(IDC_RADIO_ALL_PLAYER))?? ??? ?((CButton *)GetDlgItem(IDC_RADIO_ALL_PLAYER))->SetCheck(TRUE);//選上?? ?if (GetDlgItem(IDC_RADIO_NEW_PLAYER))?? ??? ?((CButton *)GetDlgItem(IDC_RADIO_NEW_PLAYER))->SetCheck(FALSE);//不選上
---------------------?

原文:https://blog.csdn.net/zhouxicai/article/details/52862488?
?

總結

以上是生活随笔為你收集整理的MFC程序提示 0xC0000005: 读取位置 0x00000020 时发生访问冲突。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。