利用Eclipse和Sourcery G++ Lite通過GDBserver在Windows下單步除錯嵌入式Linux應用程式
我的開發平臺:
上位機:WIN7 32bit Home basic
下位機:AM3517, Linux 2.6.37
需要用的軟體資源:
1. arm-2012.09-64-arm-none-linux-gnueabi.exe (sourcery G++ Lite)
2. jdk-8u5-windows-i586.exe (Java Jdk)
3. eclipse-standard-kepler-SR2-win32.zip(Eclipse)
4. Gdbserver (下位機)
安裝sourcery G++ Lite 交叉編譯鏈for windows的安裝包
假設安裝到C:\ProgramFiles\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_GNU_Linux,
注意PATH一定要選擇新增到系統PATH裡,如下圖
安裝JDK
開啟Eclipse,Help -> Install New Software,,在列表裡,ProgrammingLanguage->C/C++ programming tool
軟體安裝完畢。
匯入你以前的下位機程式,Makefile Project with Existing Code
自動匯入工程後,工程目錄右鍵屬性,Properties(Alt+enter), 在Build裡,選擇自定義編譯指令,cs-make如圖。
把生成的可執行檔案(我這裡是GCC_test),拷貝到下位機板子上。
在下位機linux上,拷貝gdbserver到/bin/ (GDBserver的移植比較容易,這裡就略過了,網友可以自行到網上去找)
GCC_test拷貝到/home/
電腦和下位機都要連線乙太網,用於GDB遠端除錯
假設PC的IP:192.168.100.111
Arm:192.168.100.19
在板子上執行
/home # gdbserver 192.168.100.19:2345 GCC_test
Process GCC_test created; pid = 610
Listening on port 2345
在Eclipse裡,Run->Debug Configurations…
雙擊C/C++ Remote Application,會自動建立一個工程Debug配置,
點選Debug,就能進入除錯介面,程式自動停在Main函式入口處
同時,在下位機,
/home# gdbserver 192.168.100.19:2345 GCC_test
Process GCC_test created; pid = 610
Listening on port 2345
Remote debugging from host 192.168.100.111
接下去就可以單步除錯,設定斷點,檢視暫存器,檢視變數,控制程式跳轉等,非常方便。
此方法關鍵在於sourcery G++ lite提供了arm-none-linux-gnueabi-gdb.exe,可以直接在windows下除錯遠端的GDBserver執行的程式,通過Eclipse的除錯介面,可以做到在windows下單步除錯嵌入式linux的程式,也可以在windows下交叉編譯下位機執行的arm linux程式。實在是非常方便的一種手段。
缺點在於,一些shared library沒有除錯資訊,當你在呼叫庫函式時,沒法暫停,解決方法是編譯帶除錯資訊的shared library,貌似工作量太大,也無必要,目前的這些手段足夠我們除錯自己的應用程式了。
相關推薦
利用Eclipse和Sourcery G++ Lite通過GDBserver在Windows下單步除錯嵌入式Linux應用程式
我的開發平臺: 上位機:WIN7 32bit Home basic 下位機:AM3517, Linux 2.6.37 需要用的軟體資源: 1. arm-2012.09-64-arm-none-linux-gnueabi.exe (sourcery G++ L
【Python求助】在eclipse和pycharm中,通過adb install安裝中文名字APK時老是報錯,如何解決
style com all auto RoCE mod python lin sage 1 # -*- coding: utf-8 -*- 2 import os 3 import sys 4 import subprocess 5 import time 6 from
利用Eclipse 和 http 協議將原生代碼上傳到 華為雲
使用eclipse內建git外掛通過http協議上傳程式碼到華為雲。 步驟如下: 在雲端建立倉庫,設定訪問方式為http,並修改密碼。 Eclipse 配置:建立本地倉庫, 如果 上傳不成功,顯示 reject to
Sourcery G++ Lite 一個arm開發工具
Sourcery G++ Lite 一個arm開發工具 Sourcery CodeBench Lite Edition Sourcery CodeBench (formerly Sourcery G++) Lite Edition is a free, unsup
Mac下利用Eclipse和ADT外掛搭建Android開發環境
一.下載並安裝JDK,然後配置JDK環境(Mac已經幫你搞定了) 在終端驗證:$ javac -version 二.下載並安裝Eclipse 以上步驟就搭建好了開發普通的Java程式。 下面的步驟來搭建開發Android程式的環境:下載Android
關於CodeSourcery 和Sourcery G++
以前在做android的時候經常回去CodeSourcery的網站上下載Sourcery G++ 的編譯器,也沒有太注意這個網站,只是認為這個是一個專門提供編譯器的網站。但是最近去下載編譯器的時候注意到網站變樣了,所以找了一下資料瞭解了一下這個公司。 CodeSourc
eclipse 遠端圖形化除錯嵌入式linux c arm(beaglebone black),解決常見除錯問題
1. eclipse遠端除錯的具體配置: 參考該網頁上的視訊http://www.eeboard.com/bbs/thread-15454-1-3.html (國外以小哥做的,講的非常詳細) 2. eclipse debug的具體設定說明: (對於遠端除錯的細節說明,防止
linux應用程式中的延時和定時器
筆記:在linux應用程式中延時有sleep()、msleep()和usleep()函式之類的延時,也有如下形式的延時: struct timeval delay; delay.tv_sec = sleepSecond; delay.tv_usec =
通過Windows Visual Studio遠端除錯WSL2中的.NET Core Linux應用程式
最近兩天在Linux中除錯.NET Core應用程式,同時我發現在Linux中除錯.NET Core應用程式並不容易。一直習慣在Visual Studio中進行編碼和除錯。現在我想的是可以簡單快速的測試.NET Core應用在Linux。所以通過本篇文章我們能瞭解到如何在Windows中使用Visual St
#OpenCV##MFC#利用MFC和OpenCV通過系統對話框打開和保存圖片
代碼 pat pda show 選擇 gif buffer length anti 打開圖片: void CImageProDlg::OnImageopen() { // TODO: 在此添加命令處理程序代碼 Invalidate(); CFil
利用eclipse工具反向生成hibernate配置檔案,domain類和對映檔案
首先要意識到eclipse是一個整合開發環境,要想實現更多的功能,就必須下載好相關的外掛 1.下載外掛 點選help->install new software,輸入相應的網址(對應的自行百度),這裡是http://download.jboss.org/jbossid
利用Eclipse建立maven專案並生成META-INF和WEB-INF目錄
1、使用eclipse外掛建立一個web project 首先建立一個Maven的Project如下圖 我們勾選上Create a simple project (不使用骨架) 這裡的Packing 選擇 war的形式 由於packing是w
Ubuntu16.04下利用gcc和g++進行C/C++編輯編譯
雙擊檔案,開始編輯,還是我們最最經典的Hello World先確定安裝了vim 和gcc (c語言)或者g++(c++) 如果沒有安裝可以在終端輸入以下命令: sudo apt-get install build-essential sudo apt-get insta
通過程式設計幾何圖形(Shape)、矩形(Rectangle)、圓形(Circle)、正方形(Square)幾種型別, 能夠利用介面和多型性計算幾何圖形的面積和周長並顯示。
interface Shape {//宣告介面Shapefinal float PI = 3.14f; // 定義常量圓周率abstract void area();//定義抽象方法面積abstract void perimeter();//定義抽象方法周長}clas
利用Express和ejs編寫簡單頁面
light logs 開發 ges 下載 highlight 視圖 script dem 1、創建臨時文件夾ejsdemo $ mkdir ejsdemo 2、進入ejsdemo 初始化項目 $ npm init 3、安裝express $ npm
Eclipse和MyEclipse常出現的錯誤總結
導包 ren project 支持 pro mil cli lib prop 1. Myeclipse中導入的項目中按住快捷鍵(ctrl)鍵進行聯想時,無法聯想。解決方案:(1)可能缺少jar包,導包;(2)找.project文件,在其中加入如下代碼: Java代碼 收藏
使用Android design support library在Eclipse和Android Studio
content mod img span ont tracking details con man 背景:為了在低版本號下使用Android 5.0的一些新特新 Eclipse篇: 1、將Android Manager中的Android support librar
利用SharePrefrence和Gson實現實體類的保存與獲取
getclass 類繼承 brush gets static 實現 highlight model htm 實現需要Gson獲者其他能將實體類轉換成json的jar包 接下來是主要方法: 保存實體類 public static void putClass(ModelBa
利用 keyCode 和 正則 控制數字輸入框
只能輸入數字 1.8 不能 scrip repl type htm length ace <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
手機商城第四天,利用GridView和viewpager實現頻道按鈕和熱門活動圖片的展示
手機商城第四天 利用gridview和viewpager實現頻道按鈕和熱門活動圖片的展示 代碼已經上傳碼雲,有興趣的小夥伴可以下載看看: https://git.oschina.net/joy_yuan/ShoppingMall 下面是這次的效果圖:其中哪些服飾、遊戲、動漫等欄目