linux調試器
① linux下有沒有串口調試工具
Linux下的串口調試工具有很多種,按照界面類型可分為字元界面與圖形界面兩類,下面列出幾種比較常用的
字元界面:
minicom
picocom
圖形界面:
cutecom
putty
上述串口調試工具均可通過yum或apt-get命令安裝
② linux 匯編工具以及調試
當然是
gcc
+
gdb
不過gcc/gdb
用
AT&T
風格的匯編,和
dos/win32
下的
Intel
風格不太一樣,你要去了解一下具體區別。
.s
文件表示匯編源碼文件,
可以用gcc
編譯,比如
gcc
-g
a.s
-o
a.exe
然後就可以用
gdb
a.exe
來調試了,用
print
$eax
來顯示
eax
寄存器,等等。
具體
gdb
命令自己搜索了解一下。
下面給個入門例子,把下面代碼存入
a.s
,
就可以在
linux
下用我上面說的方法編譯和調試了:
hello:
.string
"Hello
world\n"
.globl
main
main:
movl
$4,
%eax
movl
$1,
%ebx
movl
$hello,
%ecx
movl
$12,
%edx
int
$0x80
ret
③ linux怎麼配置gdb調試器怎麼設置顯示所有代碼
課程安排課程簡介第一周 嵌入式c語言編程基礎 主要介紹在嵌入式開發編程中C語言的重要概念和編程技巧中的重點難點,以復習串講和實例分析的形式,重點介紹包括函數與程序結構,指針、數組和鏈表,庫函數的使用等知識。第二周 Linux 操作和編程基礎 主要介紹 Linux 的基本命令和基礎編程知識,包括Linux的文件操作和目錄操作命令,VI編輯器,GCC編譯器,GDB調試器和 Make 項目管理工具等知識。第三周 Linux 上C 強化編程訓練 主要包括整數演算法訓練,遞歸和棧編程訓練,位操作訓練,指針訓練,字元串訓練和常用C庫函數編程介面實踐,強化學員對Linux下基本編程開發的理解和編碼調試的能力。第四-七周 Linux環境高級編程及項目開發編程實踐 主要包括系統編程(信號/系統調用/管道/FIFO/消息隊列/共享內存等),文件I/O編程(文件描述符/文件讀寫介面/原子操作/阻塞與非阻塞IO等),多任務和多線程編程(進程標識/用戶標識/fork與vfork/多線程概念/線程同步等),網路編程(網路基本概念/套介面編程/網路位元組次序/ Client/Server 結構/ UDP 編程);掌握Linux下Socket編程的開發流程,熟悉網路編程的調用介面函數和相關數據結構,使學員初步具備在Linux上進行系統編程開發的能力。同時綜合之前所學內容和編程技術,以小組為單位進行一個團隊合作項目的開發,考核內容包括文件I/O編程,多線程編程,網路編程和項目文檔編寫。期中考試第八-九周 嵌入式處理器體系結構及編程實踐 主要介紹 ARM、MIPS、PowerPC等體系結構及其基本編程知識,包括指令分類,定址方式、指令集、存儲系統、異常中斷處理、匯編語言以及C\C++和匯編語言的混合編程等知識。同時結合ARM嵌入式開發板硬體設計原理和基本硬體設計流程,分析各種外設的工作原理和驅動機制,並自己動手實踐完成一個ARM開發板上的編程大作業。第十-十一周 嵌入式Linux開發基礎及高級應用 主要介紹嵌入式 Linux 開發應用程序的基本流程和知識,包括嵌入式Linux基本概念和開發流程、Bootloader 工作原理、內核裁減配置和交叉編譯、根文件系統製作、網路編程及圖形界面和資料庫開發等知識。同時獨立完成一個基於嵌入式Linux GUI的應用編程大作業。第十二-十三周 嵌入式 Linux驅動理論及驅動程序開發實踐 主要介紹嵌入式 Linux 上驅動程序開發規范,包括設備驅動程序概念、字元設備驅動程序、塊設備與網路設備、網卡驅動以及常用嵌入式設備驅動開發等知識。同時獨立實現兩種嵌入式設備驅動程序的編寫,包括驅動模塊的調試和載入以及完整的項目開發文檔的編寫。第十四-十五周 嵌入式Linux項目團隊開發實踐鍛煉 主要包括設計並實現一個真實和完整的嵌入式項目的開發流程,涉及到數據採集、網路通訊、圖形用戶界面顯示以及嵌入式資料庫存儲系統等多種嵌入式Linux編程技術。要求學員建立起團隊開發和協同工作的企業項目開發模式的概念和流程,強化學員對編寫項目概要設計文檔和詳細設計文檔的理解,為就業前的職業技能和素質訓練做好充分准備。畢業典禮培訓目標學習內容掌握程度掌握三種編程語言C 語言精通 C++ 語言 了解 ARM 匯編語言 熟悉 掌握兩種嵌入式Linux操作系統Linux精通 uCLinux精通 掌握兩種嵌入式實時操作系統VxWorks 熟悉 uC/OS-II 熟悉 掌握三種處理器體系結構ARM 體系結構精通 MIPS 體系結構 熟悉 PowerPC 了解掌握五種ARM核處理器Samsung S3C2410/S3C44B0精通 Intel XScale PXA255精通 Philips LPC22xx精通 EP7312 熟悉 MIPS Godson 龍芯 熟悉 掌握兩種硬體設計工具Candence PCB 熟悉 Protel 了解掌握兩種Linux下編輯軟體VI精通 EMACS 了解掌握兩種串口通訊工具超級終端 (Windows) 熟悉 MiniCOM (Linux) 熟悉 掌握三種 Flash 燒寫工具Flash Programmer (GUI) 熟悉 JFlash 燒寫軟體及原理精通 SJF系列燒寫軟體及原理精通 掌握兩種調試工具JTAG 在線調試器 熟悉 SkyEye 模擬調試工具 熟悉 掌握兩種集成開發環境ARM ADS 1.2精通 K-Develop IDE 熟悉 掌握一種源代碼版本管理工具CVS 熟悉 掌握嵌入式 Linux整體開發流程 熟悉 GNU 交叉編譯器使用Cross-compiler-gcc/g++精通 Linux Makefile 組織結構精通 Bootloader 啟動代碼u-Boot精通 RedBoot 熟悉 內核編譯配置參數設置精通 內核調試 熟悉 文件系統JFFS2 文件系統精通 NFS 文件系統精通 ROMFS 文件系統精通 EXT2 文件系統 熟悉 YAFF 文件系統 了解設備驅動程序液晶LCD 設備驅動精通 USB設備驅動精通 網卡設備驅動精通 嵌入式圖形系統MiniGUI精通 QT/Embedded 熟悉 MicroWIN 了解嵌入式資料庫系統SQLLite精通 嵌入式應用程序開發網路通訊應用開發精通 資料庫存儲應用開發 熟悉 多媒體應用開發 熟悉 圖形用戶界面開發精通 Shell 編程技巧 熟悉 【說明】 精通 ―― 表明對於所學內容和工具的原理進行過深入分析,了解相關內容實現的具體技術細節,並掌握 了相關工具的高級使用技巧。 熟悉 ―― 表明對於所學內容和工具能夠融會貫通,掌握相關內容的基本概念,並能夠熟練使用相關工具 的常用技巧。 了解 ―― 表明對於所學內容和工具一般了解,能夠區別相關內容在概念上的異同,並能夠初步使用相關工具。
④ Linux調試器如何輸出實參的個數、各個實參的值
#include <iostream> using namespace std; int main() { char a[80]; cout<<"Please input the string:"<<endl; cin.getline(a,80); void Search(char *); void Search(a); } void Search(char *p) { int num=0,space=0,letter=0,others=0; for(int i=0,i<80&&*(p+i)!='\0',i++) { if(*(p+i)>='A'&&*(p+i)<='Z'||*(p+i)>='a'&&*(p+i)<='z') letter++; else if( *(p+i)>='0'&&*(p+i)<='9') num++; else if(*(p+i)==' ') space ++; else others++; } cout<<"數字有:"<<num<<"字母有:"<<letter<<"空格有:"<<space<<"其他:"<<others<<endl; } 因為有4個變數要輸出,所以不能傳回主函數
⑤ linux下有什麼圖形化c語言編譯調試cc軟體
Linux下圖形界面的編譯C語言的軟體有codeblocks、eclipse-cdt,圖形界面的調試器有ddd、Kdbg、Affinic GUI Debugger。但是這些圖形界面的軟體只是一個外殼,它們還是要調用gcc/gdb的功能,也就是說如果要使用這些軟體,你的Linux系統上需要預先安裝好gcc和gdb。
⑥ linux 編程工具怎麼斷點調試
編譯:gcc -o xxx xxx.c 調試:gcc -o xxx -g xxx.c gdb xxx run break line(行數)或函數名 info 查看斷點 n 下一步 print +變數 列印變數值 q 退出調試 c 繼續執行到下一個斷點
⑦ linux中gdb調試器中的 l 命令 有些用法不太明白
很多,但是通用的命令基本都一樣;了解Linux的目錄基本結構,怎麼給各種硬體命名的(當初我才接觸Linux的時候就被它對硬碟分區的命名規則搞暈了),了解用戶是怎樣通過Linux內核跟硬體打交道的;還可以找個Linux的發行版如現在比較火的Ubuntu等熟悉下怎麼配置它的各種服務;然後如果是你以後從事在Linux下的開發工作,那麼可以學習在Linux系統下面編程,C/C++等等,掌握編譯器GCC/G++,調試器GDB的基本用法,學習寫Makefile管理你的工程等等;推薦幾本書:《Linux標准學習教程》(雖然是針對Red Hat Enterprise Linux 4講的,但是前面我說過,基本命令都差不多,配置文件有些地方各個發行版不一樣)、《UNIX/Linux編程實踐教程》(即Understanding UNIX/Linux Programming)、《UNIX環境高級編程》(即Advanced Programming In The UNIX Environment)。前兩本入門用,現在我才看到第二本,最後一本還沒看過,特別厚,評價都說很經典!然後你再想學就自己找個方向學吧,比如應用層開發,驅動層開發,內核研究等。最後祝你成功!
另外,站長團上有產品團購,便宜有保證
⑧ 怎樣在linux系統中安裝gdb調試工具
我的怎麼可以用sudoapt-getinstallgdb,看我的截圖:
⑨ 小弟問一下各位前輩,做linux下面的C開發一般用什麼IDE和調試工具
Linux系統C語言開發一般不用IDE,因為Linux系統C或者C++語言IDE並不能帶來方便,相反還有點繁瑣,主要是不夠靈活。Linux C編程一般都是在文本編輯器中寫代碼(具體用哪個文本編輯器完全是個人喜好,專業的文本編輯器往往要比IDE的代碼編輯功能要更好更強大),然後在命令行下編譯(編譯可以用gcc命令、g++命令,也可以編寫一個makefile然後用make命令。如果你學會了makefile的編寫,比IDE要方便多了,只輸入一句make然後按下回車不就和點擊編譯按鈕一樣么),調試是用gdb。為什麼說IDE不夠靈活呢,舉個例子,你編寫了一個程序需要調用一個共享庫,但是你不知道怎麼編譯(就是不知道該加什麼編譯參數),你網路一下後,就知道編譯的命令了,但是你不知道怎麼控制IDE的行為,它能正常編譯還好,如果不能正常編譯,你就會各種折騰,效率肯定不高。
如果你實在偏愛IDE,Linux上的IDE也不少(這里只列舉C/C++的IDE),有codeblocks、eclipse-cdt、codelites。調試工具也有圖形界面的,比較好用的有KDbg、Affinic Debugger GUI。