所有文章除特別聲明外瘩蚪,均采用 CC BY-NC-SA 4.0 許可協(xié)議课舍。轉(zhuǎn)載請注明來自 nixgnauhcuy's blog恋捆!
如需轉(zhuǎn)載,請標明出處硬梁!
前言
在使用 notepad++ 時账磺,使用插件 Hex-Editor 踩到的深坑,故此記錄一下蠢沿!
問題描述
移植一個開源項目時,調(diào)用寫接口連續(xù)向 txt 文本寫入數(shù)據(jù)類型 uint32_t(unsigned int)的數(shù)值匾效,本應該寫入 4 個字節(jié)舷蟀,但是通過 notepad++ 的插件 Hex-Editor 查看時一直只有 2 個字節(jié),實際的文件大小是 4 個字節(jié)面哼,與自己寫入的不符野宜,于是開啟調(diào)試單步調(diào)試代碼,但是又找不到問題的所在魔策。
使用 notepad++ 查看如下圖:
我實際以小端形式寫入的數(shù)值應該是 01000000 共 4 個字節(jié)匈子,但是實際從圖中可以看到使用notepad++ 的插件 Hex-Editor 查看時,只顯示了 0100共 2 個字節(jié)闯袒,然后一直以為寫入的 uin32_t 數(shù)據(jù)類型在哪個地方被強制類型轉(zhuǎn)換或者更改了虎敦,故一直在代碼中找問題。
解決問題
最后搁吓,部門大佬給我提了個建議原茅,換了個思路吭历,懷疑是使用的工具的問題堕仔,所以我隨后改使用 UltraEdit 查看,并且通過讀取接口讀取寫入的數(shù)據(jù)晌区,發(fā)現(xiàn)根本不是代碼的問題摩骨,而是 notepad++ 的插件 Hex-Editor 的問題。
使用 UltraEdit 查看如下圖:
最后朗若,問題解決恼五,非代碼 BUG ,而是插件的小坑哭懈,故此記錄下灾馒,提醒自己