回文章列表
作者jserv.bbs@bbs.sayya.org (松鼠) 看板: linux
標題Re: [請益] GDB Trace Xvnc
時間SayYA 資訊站 (2008/03/01 Sat 04:22:42)
※ 引述《littleboypis.bbs@ptt.cc (littleboypis)》之銘言:
> 這兩個都可以讓使用者達到遠端連線的功能
> 但是,Xvnc在安裝時需要另外下載xfree86(X-Server)的source code搭配一起編譯
> 不解的是,為什麼不直接用系統內的X-Server 還要自己另外編譯一個X-Server??

Xvnc 將 vnc/rfb 視為其低階硬體層面的輸出,就好比 Xvesa 之於 VESA。
至於說,為何需要獨立的 X server 呢?算是設計需求,畢竟許多 Unix 工作站的
real display 有著大異於 PC 的解析度與配置 (考慮到 VNC 發展的年代)。

當然,也可以透過 x11vnc 來將 real X display 透過 RFB 作轉向。

> 我現在找不到Xvnc他的main function在哪
> 不曉得從何開始trace
> 我有用 grep -r 下去找過
> 有比對到其他目錄的main
> 不過沒有Xvnc的

在 xserver 的 core 中。
Xvnc 基本上只是一個 "hw" (device hardware) 實做,當然在程式碼中不會有
main(),請參考 Imakefile 的細節。

> 裡頭包含了很多子目錄
> 而每個子目錄下都會有一個Makefile
> 如果說,我希望在編譯時加上個參數 -g
> 因為我想在用gdb trace時有一些資訊可以用
> 那這樣我是要在每一個Makefile中都加上一個-g的FLAG嗎
> 還是有比較有效率的方法呢???

去搞懂 imake 或者以 sed 一類的工具修改 Makefile 會比較踏實。

不然,也可以在 $HOME/bin 目錄下建立自己的 gcc wrapper,像是:

$ cat $HOME/bin/gcc
#!/bin/sh
/usr/bin/gcc -g "$@"
$ ln -s gcc cc

然後再將 $HOME/bin 列入 $PATH 最前方,這樣重新編譯即可,不需要
搞懂其他細節。
--
Jim Huang aka "jserv"
Planet OrzLab: http://orzlab.blogspot.com/
website: http://jserv.sayya.org/
blog: http://blog.linux.org.tw/jserv/
--
※ Origin: SayYA 資訊站 <bbs.sayya.org> 
◆ From: info.sayya.org
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻