原创 python BaseHTTPServer重啓失敗,提示端口被佔用

有一個BaseHTTPServer,名爲A,監聽端口12346;它有10個子進程,通過os.system("nohup xxxx &")啓動,也是BaseHTTPServer,名字分別爲B0~B9,分別監聽9000~9009。A將接收到的

原创 獲取urllib2.urlopen失敗時的錯誤頁面

錯誤方法: import urllib2 req = urllib2.Request('http://127.0.0.1/longerrorpage') try: response=urllib2.urlopen(req) exc

原创 qemu vl.c源碼學習

代碼版本qemu1.5,只看linux下使用kvm加速的,guest爲x86的。 vl.c:main atexit(qemu_run_exit_notifiers); vl.c,註冊atexit函數,遍歷exit_notifiers,執行

原创 如何查找android emulator內核的精確版本

android api22, arm images root@generic:/ # cat /proc/version Linux version 3.4.67-01422-gd3ffcc7-dirty ([email protected]

原创 shell腳本test命令沒用好,寫了好幾天的代碼全被刪了

在桌面上有一堆.cpp和elf文件以及shell腳本,我想寫一個腳本刪除所有的elf文件 #!/bin/bash for filename in `ls` do file $filename | grep ELF; if

原创 編譯開源軟件時,prefix, sysroot, DESTDIR怎麼整

開發環境ubuntu12.04,x86_64,gcc4.6 arm板子環境armeabi,32bit,gcc5.3 以shell裏面經常用到的file程序爲例子 從ftp://ftp.astron.com/pub/file/上面下載源代

原创 ELF entry point和裝載地址

爲了研究ELF文件裝載到內存的哪裏,以及從哪裏開始運行程序,環境:ubuntu12.04 64位,gcc4.6.3。 使用的源代碼是: #include <stdlib.h> void hello(void) { ex

原创 初始化python類的實例時,私有變量的值與上一個實例的相同,問題定位

#!/usr/bin/env python # -*- Coding=UTF-8 -*- class parser: def __init__(self, x=[]): print "early-init: id

原创 靜態庫改爲動態庫後,可以影響到程序的執行結果

源於systemd的例子 先看bus-error.h中的一個宏: #define BUS_ERROR_MAP_ELF_REGISTER \ __

原创 arm平臺函數傳遞參數,反彙編實例分析

測試前,需要了解下sysv的傳參方式: 1、輸入參數通過r0-r3傳遞,多餘的放入堆棧中;返回值放入r0,不夠的話放入{r0,r1}或者{r0,r1,r2,r3},比如: int foo(int a, int b, int c, int

原创 python os.path.isdir權限問題小坑一個

使用django搞一個東西玩,python manager.py runserver的時候,一切正常。將項目部署到apache之後,出現了問題。定位到問題所在: if not os.path.isdir(working_dir):

原创 libffi淺析

最近調試了weston的一個coredump,對libffi有了一些瞭解,在此記錄下,使用的是arm處理器,32位,soft float,libffi3.1,使用的abi是SYSV。 libffi簡介和使用示例:http://www.a

原创 爲什麼有時候讀取文件,atime不更新

在linux中,使用stat foo.txt 命令可以看到文件foo.txt的三個時間: atime:access time,訪問時間 mtime:modify time,修改時間,文件內容有修改 ctime:change time,cr

原创 shell重定向小記

對於int型的,使用open,write,read,close操作,對於FILE*型的使用fopen,fwrite,fread,fclose操作 標準輸入,int fd = 0,int fd = STDIN_FILENO,FILE *f

原创 android emulator虛擬設備分析第一篇之battery

一、概述 本文使用的android版本是5.1.0_r1,goldfish內核版本是3.4,android鏡像是x86架構的。本文以battery爲例,完整地介紹了虛擬設備的實現和使用。 爲什麼android emulator需要虛擬設