troushoo

実行中の Java のコールスタックを表示する方法

概要実行中の Java のコールスタックを表示する方法を 3 つ紹介します。内容kill –quit <pid>kill –quit <pid> を実行すると、実行プロセスのコンソールにコールスタックが表示されます。jstack –l <pid>jstack –l <pid> を実行すると、jstack の実行結果にコールスタックが表示されます。jstack は JDK に入っているコマンドです。VisualVMVisualVM にてプロセスを右クリックして「Thread Dump」をクリッ...
  1. 2018/06/18(月) 23:15:47|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

Linux のカーネルデバッグ

概要Linux のカーネルデバッグ方法を紹介します。内容Ubuntu 18.04 を用いたカーネルデバッグ方法を紹介します。環境以下のような 2 つの Ubuntu 18.04 をシリアルケーブルでつないでいる環境を用います。(実際は、VMWare の名前付きパイプを利用しました)手順以下が手順の概要です。1. デバッグ対象サーバーでシンボルのダウンロード2. デバッグ対象サーバーでソースコードのダウンロード3. デバッグ対象サーバーで KASLR (Kernel...
  1. 2018/05/19(土) 23:33:23|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

ProcDump の Linux バージョン

概要ProcDump の Linux バージョンを紹介します。ProcDump の Linux バージョンも Microsoft より GitHub で公開されています。内容ProcDump for Linux のインストール1. Microsoft のレポジトリを追加します。curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpgmv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpgsh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/re...
  1. 2018/04/05(木) 21:53:19|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

cProfile を用いて実行した Python プロファイリングを KCacheGrind でビジュアル化

概要cProfile を用いて実行した Python プロファイリングを KCacheGrind でビジュアル化する方法を紹介します。内容手順1. cProfile を用いてプロファイリングを実行cProfile は Python 2.5 から Python で提供されています。python –m cProfile –o <出力ファイル> <実行 Python ファイル>2. プロファイリングの出力ファイル形式を変換cProfile で作成されたファイルを、KCacheGrind で読み込めるファイル形式に変換し...
  1. 2018/03/26(月) 20:55:47|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

Pyflame: Python プロファイラー

概要オープンソースの Python プロファイラー Pyflame を紹介します。内容Pyflame のインストール方法1. 必要なモジュールをインストールします。sudo apt-get install autoconf automake autotools-dev g++ pkg-config python-dev python3-dev libtool make2. GitHub のサイトよりソースコードをダウンロードします。git clone https://github.com/uber/pyflame.git3. インストールします。./autogen.sh./configuremake4. src に ...
  1. 2018/03/24(土) 22:14:29|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

Python のデバッガー pdb の基本的な使い方の紹介

概要Python のデバッガー pdb の使用方法を紹介します。内容1. [python3 –m pdb <python ファイル>] でデバッグ開始します。また、ソースコードの中に [import pdb; pdb.set_trace()] と記述することで、該当部分が呼ばれた際に pdb が呼び出されるようにすることも可能です。2. デバッガーに制御が移ります。3. [l] でソースコードが表示されます。4. [b <行番号>] でブレークポイントを張ることができます。[b] で現...
  1. 2017/06/01(木) 22:20:39|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

nc : TCP のポートに ping できる Linux のツール

TCP のポートに ping できる Linux のツール nc を紹介します。同種のツールに、Windows では psping や、PowerShell の Test-NetConnection コマンドがあります。 使い方nc –zv <IP アドレス> <ポート番号>・ –z: ポートが開いているかを確認します。・ –v: 詳細な出力を行います。TCP ping の成功時「succeeded!」と表示されます。TCP ping の失敗時「Connection refused」と表示されます。 関連記事PsPing : TCP ...
  1. 2017/04/12(水) 23:20:01|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

Linux コマンドのダンプをソースコードを用いて解析

概要 運用環境の Linux コマンドのダンプを取得して、取得したダンプを開発マシンでソースコードを用いて解析する方法を紹介します。 内容 ここでは、Ubuntu 16.04 にて sum コマンドを実行し、ユーザーの入力待ちの状態でダンプを取得・解析してみます。ダンプの取得1. [sum] を実行します。2. 他ターミナルで [pgrep sum] を実行し、PID を取得します。3. [gcore <pid>] でダンプを作成します。デバッグシンボルのダウンロ...
  1. 2017/03/12(日) 00:31:26|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

Linux 上の Python プロセスのハングの原因を GDB を用いて調査

概要 Linux 上の Python プロセスのハングの原因を GDB を用いて調査する方法を紹介します。 内容 準備1. Python のデバッグ用モジュールをインストールします。[ apt-get install python-dbg libpython-dbg ]2. ハングしている Python プロセスの PID を取得します。[ pgrep python ]ハングしている Python プロセスに GDB をアタッチ1. GDB をハングしている Python プロセスにアタッチします。[ gdb –p <pid> python ]2. ...
  1. 2017/02/23(木) 23:39:15|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

リバース実行を用いた gdb によるデバッグ

プログラムを逆に実行するリバース実行を用いた、gdb によるデバッグ方法を紹介します。「変数 x が不正な値になっていたが、いつ不正な値になったのか」といった場合のデバッグに便利です。サンプルプログラム変数 x の初期値が 0 で、その後 func1() により 1 に変更される、単純なサンプルプログラムを用います。プログラム終了時から、プログラムを逆に実行し、いつ変数 x が変更されたかを調べます。「gcc –g gccreverse.c」...
  1. 2017/01/23(月) 00:03:44|
  2. Linux
  3. | トラックバック:0
  4. | コメント:0
次のページ

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (99)
ネットワーク (80)
Visual Studio (56)
SOS・Psscor2/Psscor4 (25)
WinDbg (32)
コンテナ (1)
Linux (29)
Azure (17)
Tips (20)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する