ゆずまの○○日記がシンプルでいいと思います!

プログラミングを中心に書いていこうと思ってます。

gitのソースコードをステップ実行する〜環境構築編〜

gitのソースコードをステップ実行する〜環境構築編〜

環境

Eclipse CDTのダウンロード

http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/neon3

Java8のインストール

なんか証明書が必要っぽかった。

apt install -t jessie-backports  openjdk-8-jre-headless ca-certificates-java
vi /etc/apt/sources.list
deb http://ftp.de.debian.org/debian jessie-backports main 
apt-get update

ここにインストールされた

/usr/lib/jvm/java-8-openjdk-amd64/bin/java

eclipse.iniを編集する

vmargsの上に、以下を追記した。

-vm
/usr/lib/jvm/java-8-openjdk-amd64/bin/java

eclipse neon3がここで起動する

gdb, make , gccのインストール

apt-get install -y gdb make g++

makeとg++はすでにインストールされていた。

gitのインストール

apt-get install -y git

gitのリポジトリを複製する

// 一般ユーザーで実行する
cd /home/yuzuma/develop
git clone https://github.com/git/git.git git_source

gitをコンパイルするために必要なものをインストール

apt-get install -y libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev

複製したリポジトリEclipse CDTにimportする

  • File > New > Makefile Project with existing code
  • Toolchain for Indexer Settings

gitのソースコードデバッグする。

  • Project > Build All
  • diff.c を開いて、Run > Debug を実行する
  • ステップ実行できるようになる

総括

CLionでやってみたかったが、CmakeListというもので、
Makefileとは別だったため、Eclipse CDTを使った。
C言語ソースコードをステップ実行する知識がなかったため、2日間かかったけど、
ステップ実行できてよかった。
引数を与えたりして、本格的に任意のコマンドをステップ実行したい。

— 追記:20170404
引数を与えて、任意のコマンドをステップ実行できた。
gitのソースをデバッグ実行する〜git log , git log –oneline, git reflog~
http://yuzuma-yuzuma-yuzuma.hatenablog.jp/entry/git-source-debug