原创 gdb調試技巧

使用命令: display 變量名跟蹤查看某個變量,每次停下來都顯示它的值 undisplay 跟蹤顯示號取消跟蹤顯示 info(或i) breakpoints查看當前設置了哪些斷點 例如: disable breakpoints 3 (

原创 Linux系統編程之錯誤處理:perror,strerror和errno

1,在系統編程中錯誤通常通過函數返回值來表示,並通過特殊變量errno來描述。 errno這個全局變量在<errno.h>頭文件中聲明如下:extern int errno; errno是一個由POSIX和ISO C標準定義的符號,看(用

原创 system.map文件詳解

有時system.map文件可以幫助我們理解內核編譯,它記錄了所有代碼的運行地址。對於系統的oop消息、或者通過gdb的調試消息,都需要根據該對照表,將內核熟悉的函數地址轉化爲用戶熟悉的函數名稱,便於用戶進行故障定位、運行監控。 syst

原创 如何判斷路由器是否有公網IP,以進行遠程通信

1:檢查是否路由器是否有公網IP: 在瀏覽器上登陸路由器的設置網頁,在運行狀態下,檢查路由器的WAN口地址,檢查WAN口地址是否爲公網IP,例如下圖IP是:123.232.174.21. 2:在百度上輸入IP,百度一下查

原创 linux程序分析工具介紹—ldd,nm

本文要介紹的ldd和nm是linux下,兩個用來分析程序很實用的工具。ldd是用來分析程序運行時需要依賴的動態庫的工具;nm是用來查看指定程序中的符

原创 gdb查看內存地址和棧中的值

gdb查看指定地址的內存地址的值:examine 簡寫 x-----使用gdb> help x 來查看使用方式      x/ (n,f,u爲可選參數)n: 需要顯示的內存單元個數,也就是從當前地址向後顯示幾個內存單元的內容,一個內存

原创 gdb查看內存區和寄存器i

一、用gdb查看內存 格式: x /nfu 說明 x 是 examine 的縮寫 n表示要顯示的內存單元的個數 f表示顯示方式, 可取如下值 x 按十六進制格式顯示變量。 d 按十進制格式顯示變量。 u 按十進制格式顯示無符號整型。

原创 Python之異常處理

一、什麼是異常? 異常即是一個事件,該事件會在程序執行過程中發生,影響了程序的正常執行。 一般情況下,在Python無法正常處理程序時就會發生一個異常。 異常是Python對象,表示一個錯誤。 當Python腳本發生異常時我們需要捕獲處理

原创 Python之類(Class)的學習

定義 Python 的 Class 比較特別,和我們習慣的靜態語言類型定義有很大區別。 1. 使用一個名爲 __init__ 的方法來完成初始化。 2. 使用一個名爲 __del__ 的方法來完成類似析購操作。 3. 所有的實例方法都擁

原创 gdb調試之重要命令

一、GDB改變程序的執行 一旦使用GDB掛上被調試程序,當程序運行起來後,你可以根據自己的調試思路來動態地在GDB中更改當前被調試程序的運行線路或是其變量的值,這個強大的功能能夠讓你更好的調試你的程序,比如,你可以在程序的一次運行中走遍

原创 makefile之創建依賴關係

gcc 選項:              -M:   自動找尋源文件中包含的頭文件,生成文件關聯的信息。包含目標文件所依賴的所有源代碼;                                               -MD:

原创 scp

scp複製文件到指定端口 1.scp基本格式 scp file user@host:/dir   2.scp複製文件到指定端口 scp默認連接的端口是22端口,如果ssh不是使用標準的22端口則使用-P(P大寫)指定: scp -P

原创 URL

前言:     做嵌入式軟件開發也快四年了,突然私下想玩玩web端的開發,本筆記僅此用來記錄下學習的路程。。。。 目錄: 一.URL定義 二.URL語法 三.URL相關舉例 四.參考文檔   一.URL定義     Uniform Res