0.吐槽
由于用慣了win上面的VS,linux的vim和gdb實在感覺不快樂,于是打算VS遠程除錯去連接openwrt(樹莓派4B),
不知道是openwrt還是我的問題,遇到的問題相比裝debian時多了很多,這里列舉一些主要的問題,
不過也算是學到了挺多東西吧,把坑都踩一遍能強一點吧,自我安慰ing......
1.問題匯總
1-1.Q:***主機上的缺少工具:gcc,gdb,gdbsevice,zip?
A:就是你的linux里沒有安裝上述程式,得去安裝,
問題主要在zip這個程式,在openwrt的web管理里搜索后居然沒有zip程式,最后我是去到中科大軟體源里
http://mirrors.ustc.edu.cn/openwrt/releases/18.06.6/packages/aarch64_cortex-a72/packages/
手動找到zip.ipk然后上傳到openwrt里的 /tmp目錄安裝的(opkg install /tmp/zip.ipk),
如果你也遇到此問題,需要到鏈接里回退找對應的openwrt版本(18.06.6)和對應的cpu型別(aarch64_cortex-a72)的zip.ipk包,
本來是把這個連接放到openwrt的自定義軟體源里,但在web里搜索還是沒有zip包,就像被過濾了一樣暫不知道原因,
1-2.Q:VS里滿屏的報錯?頭檔案全都提示無法找到源檔案?

A:百度上很多方法試過后對我沒用,在目錄里
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\Linux\include
是有linux的各種頭檔案的,但Vs就是報錯了,最后發現是Vs并沒有真正復制樹莓派的頭檔案到win里
上面目錄里的檔案似乎是下載Vs時帶的,
解決方法:在 除錯 -> 選項 -> 跨平臺 -> 鏈接管理器 -> 遠程標頭IntelliSense

此時視窗右方第三個按鈕 " 瀏覽 "

就會進入檔案管理里,此時如果你點進usr里會發現里面是沒有頭檔案的,這就是VS滿屏波浪線的原因,
因此我們只要把linux里的頭檔案(usr/include以及usr/local/include)的頭檔案復制進usr就可以了,lib檔案同理,
后面的目錄可能不存在,我的openwrt就沒有,沒有關系的,
復制進去后重新打開VS專案就可以了,
1-3.Q:運行就VS卡死,打斷點也卡死?
VS報錯:引發型別"Microsoft.Build.Linux.Shared.ExceptionTTY"的例外

A:這個問題在百度上有人提到是終端有VS無法識別的符號引發了錯誤,
但他的解決方法我不適用:把linux的用戶目錄里的隱藏檔案.bashrc直接洗掉,
我的默認sh是zsh,把.zshrc刪了并不能解決問題,并且出現更多問題了,而且刪這個感覺好危險......
最后我的解決方法:
在 除錯 -> **除錯屬性(最后一個選項,例如我的專案名是Project1,則為 Project1除錯屬性)

在左邊點 配置屬性 -> 除錯

此時右邊里面的除錯模式改為 gdbservic 試試看,如果你默認是 gdbservice 就改為 gdb 試試,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/296705.html
標籤:其他
上一篇:Dockerfile 實踐及梳理
下一篇:Linux常用操作命令(詳細)
