SlideShare a Scribd company logo
1 of 94
ハードコア デバッギング : サポート直伝!
運用中 Windows アプリケーション バグバス
ター!!
AC12
ハードコア デバッギング : サポート直伝!
運用中 Windows アプリケーション バグバスター!!
AC12
1. 本セッションの位置づけ
2. 本日のお品書き
3. 注意事項
ハードコア デバッギング : サポート直伝!
運用中 Windows アプリケーション バグバスター!!
AC12
1. 本セッションの位置づけ
2. 本日のお品書き
3. 注意事項
本セッションの位置づけ
運用中アプリの
ダンプやトレース解析
本セッションの位置づけ
デバッグ エキスパートに必要なス
キル
プログラミング
言語OS と環境の理
解
CPU の理解
テクノロジーと
ツール
Lv MAX
ヘンタイによる、ヘンタイの為のセッション
本セッションの位置づけ - だから面白
い!!
エキスパー
ト
エキスパー
ト
考えるな、
本セッションの位置づけ
感じろ。
ハードコア デバッギング : サポート直伝!
運用中 Windows アプリケーション バグバスター!!
AC12
1. 本セッションの位置づけ
2. 本日のお品書き
3. 注意事項
本セッションの位置づけ
デバッグ エキスパートに必要なス
キル
プログラミング
言語OS と環境の理
解
CPU の理解
テクノロジーと
ツール
本日のお品書き
早川 冷(レン)
応急処置タイムトラ
ベルTTD Detour
ハードコア デバッギング : サポート直伝!
運用中 Windows アプリケーション バグバスター!!
AC12
1. 本セッションの位置づけ
2. 本日のお品書き
3. 注意事項
注意事項
悪用厳禁!
メモは不
要!
注意事項
注意事項
あたたかく見守っ
て!
新しい WinDbg による
Time Travel Debugging (TTD) のご紹
介
AC12
新しくなった WinDbg で
アプリの問題を 2 分で解
決!
対象 : C++ 17 の <Filesystem> を使ったファイル列挙
ウォーミング アップ!
お気づきでしょうか?
お気づきでしょうか?
新しい WinDbg では
過去の処理を遡って
デバッグできます!!
• WinDbg がリニューアル!
本セッションでお伝えしたいこと
• WinDbg がリニューアル!
• 超強力な新機能 “TTD” を搭載!
本セッションでお伝えしたいこと
• WinDbg がリニューアル!
• 超強力な新機能 “TTD” を搭載!
• 現場のトラブルシュートでぜひ活用し
てください!
本セッションでお伝えしたいこと
本セッションの流れ
1. TTD の概要 (ダンプ解析との比較)
2. 導入・トレースの採取
3. よく使うコマンド
4. TTD が威力を発揮するケース
1. TTD の概要 (ダンプ解析との比較)
2. 導入・トレースの採取
3. よく使うコマンド
4. TTD が威力を発揮するケース
これまでのダンプ解析は、、、
これまでのダンプ解析は、、、
これまでのダンプ解析は、、、
これまでのダンプ解析は、、、
でもこれからは、
これからは Time Travel Debugging !
これからは Time Travel Debugging !
これからは Time Travel Debugging !
これからは Time Travel Debugging !
これからは Time Travel Debugging !
1. TTD の概要 (ダンプ解析との比較)
2. 導入・トレースの採取
3. よく使うコマンド
4. TTD が威力を発揮するケース
入手方法 : Microsoft Store から
対象アプリ : C/C++ および .NET Framework
トレースの採取方法 (1) : ツールをアタッチ
して起動
トレースの採取方法 (2) : 起動中のアプリに
アタッチ
採取期間は任意
トレース ファイル : .run と .idx
1. TTD の概要 (ダンプ解析との比較)
2. 導入・トレースの採取
3. よく使うコマンド
4. TTD が威力を発揮するするケース
従来の WinDbg コマンドはそのまま利用可
能
- 後ろ向きに
- 後ろ向きに
- 後ろ向きに
- 前の
- 前の
新しい WinDbg で追加された TTD 用コマン
ド
• sxe ld
• sxe ct
• sxe et
• sxe
• sxr
イベント発生時にブレークさせるコマンド
bp
bp
bm
ba
ba
ブレークポイントを設定するコマンド (1 /
4)
!sos.name2ee <モジュール名>!<クラス名>.<メソッ
ド名>
bp
ブレークポイントを設定するコマンド (2 /
4)
!sos.dumpdomain
!sos.dumpmodule –mt <module>
!sos.name2ee
!sos.dumpmt -md <MethodTable>
!sos.dumpmd <MethodDescriptor>
ブレークポイントを設定するコマンド (3 /
4)
bp
ブレークポイントを設定するコマンド (4 /
4)
1. TTD の概要 (ダンプ解析との比較)
2. 導入・トレースの採取
3. よく使うコマンド
4. TTD が威力を発揮するケース
• すると、ログの一部が欠落していることが判明
(>_<)
• まずはログの問題を急ぎ調査することに、、、
• ログ出力には社内標準ライブラリを使用していて中
身はよくわからない
Q : どうやって調査しますか?
Q : どうやって調査しますか?
2018/05/23 12:34:56 (重要)
アプリケーションでパフォーマンス異常が検出されました。システムの
CPU 使用率は 85.0 %、メモリの空き領域は 1,352 MByte、TCPv4 の接続
数は 952 です。
2018/05/23 12:34:56 ()
アプリケーションでパフォーマンス異常が検出されました。システムの
CPU 使用率は 0 %、メモリの空き領域は 0 MByte、TCPv4 の接続数は 0
です。
調査を難しくする要因
Demo :
悩ましい問題を TTD で解決!
ダンプ解析が難しい問題も
TTD で一気に解決できます!!!
関数にブレークポイントを張り、
どんどん処理を遡って解析できます!
• WinDbg がリニューアル!
• 超強力な新機能 “TTD” を搭載!
• 現場のトラブルシュートでぜひ活用し
てください!
最後にもう一度 : 本セッションでお伝えし
たいこと
Time Travel Debugging – Overview
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/time-travel-debugging-
overview
Debugging Using WinDbg Preview
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging-using-windbg-
preview
Debugger Reference
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-reference
Overview of x64 Calling Conventions
https://docs.microsoft.com/en-us/cpp/build/overview-of-x64-calling-conventions
SOS.dll (SOS Debugging Extension)
https://docs.microsoft.com/en-us/dotnet/framework/tools/sos-dll-sos-debugging-extension
参考資料
Detours - 迂回
アプリで問題発生したら・・・
ダンプを取る
トレースを取る
アプリで問題発生したら・・・
トレースを取る
そこで・・・
Detours
Detours - 本日の内容
Detours を知
る!
Detours を使う!
Detours を知る!
Detours を知
る!
1. ここが凄い!
2. フックの仕組
み
3. SDK の中身
Detours を知る! - 1. ここが凄い!
Detours を知
る!
1. ここが凄い!
2. フックの仕組
み
3. SDK の中身
Detours を知る! - 1. ここが凄い!
【祝】 無料
!
https://github.com/Microsoft/Detours
Detours を知る! - 1. ここが凄い!
すべての関数を簡単にフック
フックの中でトレースを実装
フックの中で関数の動作を変更可能
Detours を知る! - 2. フックの仕組み
Detours を知
る!
1. ここが凄い!
2. フックの仕組
み
3. SDK の中身
Detours を知る! - 2. フックの仕組み
呼び出し元
ターゲット関
数
呼び出し元 呼び出し元
パターン 1 パターン 2
ターゲット関
数
ターゲット関
数
Detour 関数 Detour 関数
Detours を知る! - 3. SDK の中身
Detours を知
る!
1. ここが凄い!
2. フックの仕組
み
3. SDK の中身
WithDll / SetDll
Detours を知る! - 3. SDK の中身
•ソース
コード
•サンプル
Detours SDK そのまま使えるサンプル
TrcApi64 / TrcApi32
Detours - 本日の内容
Detours を知
る!
Detours を使う!
Detours を使う!
Detours を使う!
1. トレースを取
る
2. トレースを診
る
運用環境でアプリが!! 現場に急行せ
よ!
Windows File Manager
(WinFile)
GitHub で公開中
https://github.com/Microsoft/winfile
社長が愛用する
WinFile で問題
が!
運用環境でアプリが!! 現場に急行せ
よ! 問題2
ヘルプメニューの項目
を
クリックすると、エ
ラー
問題1
特定のフォルダをクリック
すると、
意味不明なエラーメッセー
ジ
以下のものを入れたノート PC を持
参
運用環境でアプリが!! 現場に急行せ
よ!
Detours SDK
Detours を使う! - 1. トレースを取る
Detours を使う!
1. トレースを取
る
2. トレースを診
る
使用するコマンド
Detours を使う! - 1. トレースを取る : 作業
start syelogd.exe /q test.txt
withdll.exe /d:trcapi64.dll winfile.exe
作業の結果
Detours を使う! - 1. トレースを取る : 結果
Detours を使う! - 2. トレースを診る
Detours を使う!
1. トレースを取
る
2. トレースを診
る
Detours を使う! - 2. トレースを診る : 調査
MessageBox でエラーになった場所を探す
0 エラー
-1 エラー
• 上記以外は成功
解析の結果 – 原因を特定
Detours を使う! - 2. トレースを診る : 結果
問題 1
原因 : 不要なメッセージが表示
対処 : メッセージを非表示にす
る
問題 2
原因 : サポートされてない関数
対処 : 正しく動作する関数に変
える
Detours を使う! - 3. 対処をする
Detours を使う!
1. トレースを取
る
2. トレースを診
る
PatchDemo64.DLL を作成し使用
Detours を使う! - 3. 対処をする : DLL を作
成
Windows の API - MessageBoxW
WFHelp
作成した DLL を使用するコマンド
Detours を使う! - 3. 対処をする : DLL で対
処
withdll.exe /d:PatchDemo64.dll winfile.exe
setdll.exe /d:PatchDemo64.dll winfile.exe
Winfile.exe
または
Detours を使う! - 3. 対処をする : おさらい
呼び出し元 WFHelp()
MessageBoxW() WinHelp()
Detour 関数
Detour 関数
HtmlHelp()を呼
ぶ
問題 1 : エラーメッセージ
の対処
問題 2 : ヘルプの修正
運用環境でアプリが!! 現場に急行せ
よ!
Windows File Manager
(WinFile)
GitHub で公開中
https://github.com/Microsoft/winfile
社長が愛用する
WinFile で問題
が!
Detours まとめ - ここが凄い!
すべての関数を簡単にフック
フックの中でトレースを実装
フックの中で関数の動作を変更可能
ハードコア デバッギング : サポート直伝!
運用中 Windows アプリケーション バグバスター!!
AC12
1. 事務連絡
2. 本セッションのまとめ
本セッションのまとめ - 位置づけ
デバッグ エキスパートに
必要なスキル
プログラミング言語
OS と環境の理解
CPU の理解
テクノロジーとツール
https://aka.ms/ac12
本セッションのまとめ - 本日の内容
特定の関数のフック
応急処置に利用
一定期間のダンプ
過去に戻って調査
TTD
(Time Travel Debugging)
Detours
https://aka.ms/ac12
本セッションのまとめ - 資料
https://aka.ms/ac12
考えるな、感じろ。
最後に一言
それは月を指差すようなこと。
指先だけに捉われずに、
その先の栄光を掴むんだ!
様々な技術を活かし、
イノベーションを起こそ
う!
© 2018 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

More Related Content

What's hot

日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについて
kumake
 

What's hot (20)

ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
 
Azure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロAzure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロ
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
C++でCプリプロセッサを作ったり速くしたりしたお話
C++でCプリプロセッサを作ったり速くしたりしたお話C++でCプリプロセッサを作ったり速くしたりしたお話
C++でCプリプロセッサを作ったり速くしたりしたお話
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
Re: ゼロから始める監視設計
Re: ゼロから始める監視設計Re: ゼロから始める監視設計
Re: ゼロから始める監視設計
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
スクラムはもうだめぽよ!新しい開発手法『パワープレイ』をお姉さんが教えてあげちゃう!
スクラムはもうだめぽよ!新しい開発手法『パワープレイ』をお姉さんが教えてあげちゃう!スクラムはもうだめぽよ!新しい開発手法『パワープレイ』をお姉さんが教えてあげちゃう!
スクラムはもうだめぽよ!新しい開発手法『パワープレイ』をお姉さんが教えてあげちゃう!
 
日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについて
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 

Similar to ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!

Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
Kaoru NAKAMURA
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた
徹 上野山
 
Potatotops20141217
Potatotops20141217Potatotops20141217
Potatotops20141217
Mogi Isamu
 
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
Takafumi Inamori
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Atsushi Kambara
 

Similar to ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!! (20)

Java/Androidセキュアコーディング
Java/AndroidセキュアコーディングJava/Androidセキュアコーディング
Java/Androidセキュアコーディング
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
Dockerを使いたいと思ってもらうためのスライド
Dockerを使いたいと思ってもらうためのスライドDockerを使いたいと思ってもらうためのスライド
Dockerを使いたいと思ってもらうためのスライド
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
pgCafeMitaka20090723
pgCafeMitaka20090723pgCafeMitaka20090723
pgCafeMitaka20090723
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた
 
超簡単!バージョン管理入門 最初の一歩
超簡単!バージョン管理入門 最初の一歩超簡単!バージョン管理入門 最初の一歩
超簡単!バージョン管理入門 最初の一歩
 
ソフトウェア設計原則【SOLID】を学ぶ #2 インターフェイス分離の原則.pdf
ソフトウェア設計原則【SOLID】を学ぶ #2 インターフェイス分離の原則.pdfソフトウェア設計原則【SOLID】を学ぶ #2 インターフェイス分離の原則.pdf
ソフトウェア設計原則【SOLID】を学ぶ #2 インターフェイス分離の原則.pdf
 
コンテナーによるIT基盤変革 - IT infrastructure transformation -
コンテナーによるIT基盤変革 - IT infrastructure transformation -コンテナーによるIT基盤変革 - IT infrastructure transformation -
コンテナーによるIT基盤変革 - IT infrastructure transformation -
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp Codereading
 
Potatotops20141217
Potatotops20141217Potatotops20141217
Potatotops20141217
 
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
 
ソフトウェア構成管理入門
ソフトウェア構成管理入門ソフトウェア構成管理入門
ソフトウェア構成管理入門
 
Linux daemonとsupervisordの美味しい関係
Linux daemonとsupervisordの美味しい関係Linux daemonとsupervisordの美味しい関係
Linux daemonとsupervisordの美味しい関係
 
DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念DockerとDocker Hubの操作と概念
DockerとDocker Hubの操作と概念
 
OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
 
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
 
数千人が利用する楽天Redmineの過去と未来 - The past and future of Rakuten Redmine that is the...
数千人が利用する楽天Redmineの過去と未来 - The past and future of  Rakuten Redmine that is the...数千人が利用する楽天Redmineの過去と未来 - The past and future of  Rakuten Redmine that is the...
数千人が利用する楽天Redmineの過去と未来 - The past and future of Rakuten Redmine that is the...
 

More from TAKUYA OHTA

More from TAKUYA OHTA (20)

IT エンジニアのための 流し読み Windows - Microsoft Defender Exploit Guard
IT エンジニアのための 流し読み Windows - Microsoft Defender Exploit GuardIT エンジニアのための 流し読み Windows - Microsoft Defender Exploit Guard
IT エンジニアのための 流し読み Windows - Microsoft Defender Exploit Guard
 
IT エンジニアのための 流し読み Windows - Windows 共有 PC モード
IT エンジニアのための 流し読み Windows - Windows 共有 PC モードIT エンジニアのための 流し読み Windows - Windows 共有 PC モード
IT エンジニアのための 流し読み Windows - Windows 共有 PC モード
 
IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要
IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要
IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要
 
IT エンジニアのための 流し読み Windows - Microsoft Defender ウイルス対策
IT エンジニアのための 流し読み Windows - Microsoft Defender ウイルス対策IT エンジニアのための 流し読み Windows - Microsoft Defender ウイルス対策
IT エンジニアのための 流し読み Windows - Microsoft Defender ウイルス対策
 
IT エンジニアのための 流し読み Windows - Windows のライセンス認証 & サブスクリプションのライセンス認証
IT エンジニアのための 流し読み Windows - Windows のライセンス認証 & サブスクリプションのライセンス認証IT エンジニアのための 流し読み Windows - Windows のライセンス認証 & サブスクリプションのライセンス認証
IT エンジニアのための 流し読み Windows - Windows のライセンス認証 & サブスクリプションのライセンス認証
 
IT エンジニアのための 流し読み Windows - Windows 11 SE アプリケーションの管理
IT エンジニアのための 流し読み Windows - Windows 11 SE アプリケーションの管理IT エンジニアのための 流し読み Windows - Windows 11 SE アプリケーションの管理
IT エンジニアのための 流し読み Windows - Windows 11 SE アプリケーションの管理
 
IT エンジニアのための 流し読み Windows - Windows 11 SE おさえておきたい 8 のポイント
IT エンジニアのための 流し読み Windows - Windows 11 SE おさえておきたい 8 のポイントIT エンジニアのための 流し読み Windows - Windows 11 SE おさえておきたい 8 のポイント
IT エンジニアのための 流し読み Windows - Windows 11 SE おさえておきたい 8 のポイント
 
IT エンジニアのための 流し読み Windows - Windows 11 のクリーン インストール
IT エンジニアのための 流し読み Windows - Windows 11 のクリーン インストールIT エンジニアのための 流し読み Windows - Windows 11 のクリーン インストール
IT エンジニアのための 流し読み Windows - Windows 11 のクリーン インストール
 
IT エンジニアのための 流し読み Windows - Windows 11 へのアップグレード
IT エンジニアのための 流し読み Windows - Windows 11 へのアップグレードIT エンジニアのための 流し読み Windows - Windows 11 へのアップグレード
IT エンジニアのための 流し読み Windows - Windows 11 へのアップグレード
 
Microsoft デスクトップ仮想化ソリューション比較
Microsoft デスクトップ仮想化ソリューション比較Microsoft デスクトップ仮想化ソリューション比較
Microsoft デスクトップ仮想化ソリューション比較
 
IT エンジニアのための 流し読み Windows - Windows 365 ってどんな感じ? - せっかちなあなたへ編 -
IT エンジニアのための 流し読み Windows - Windows 365 ってどんな感じ? - せっかちなあなたへ編 -IT エンジニアのための 流し読み Windows - Windows 365 ってどんな感じ? - せっかちなあなたへ編 -
IT エンジニアのための 流し読み Windows - Windows 365 ってどんな感じ? - せっかちなあなたへ編 -
 
IT エンジニアのための 流し読み Windows 10 - IE11 のサポート終了と Microsoft Edge について
IT エンジニアのための 流し読み Windows 10 - IE11 のサポート終了と Microsoft Edge についてIT エンジニアのための 流し読み Windows 10 - IE11 のサポート終了と Microsoft Edge について
IT エンジニアのための 流し読み Windows 10 - IE11 のサポート終了と Microsoft Edge について
 
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
 
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender ATP
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender ATPIT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender ATP
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender ATP
 
IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策
IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策
IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策
 
IT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
IT エンジニアのための 流し読み Windows 10 - Windows Hello for BusinessIT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
IT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
 
IT エンジニアのための 流し読み Windows 10 - 超概要!Windows Defender シリーズ
IT エンジニアのための 流し読み Windows 10 - 超概要!Windows Defender シリーズIT エンジニアのための 流し読み Windows 10 - 超概要!Windows Defender シリーズ
IT エンジニアのための 流し読み Windows 10 - 超概要!Windows Defender シリーズ
 
IT エンジニアのための 流し読み Windows 10 - Windows サンドボックス
IT エンジニアのための 流し読み Windows 10 - Windows サンドボックスIT エンジニアのための 流し読み Windows 10 - Windows サンドボックス
IT エンジニアのための 流し読み Windows 10 - Windows サンドボックス
 
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
 
IT エンジニアのための 流し読み Windows 10 - Windows 10 サブスクリプションのライセンス認証
IT エンジニアのための 流し読み Windows 10 - Windows 10 サブスクリプションのライセンス認証IT エンジニアのための 流し読み Windows 10 - Windows 10 サブスクリプションのライセンス認証
IT エンジニアのための 流し読み Windows 10 - Windows 10 サブスクリプションのライセンス認証
 

ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!

Editor's Notes

  1. 開発専門家とデバッグ専門家の境
  2. 開発専門家とデバッグ専門家の境
  3. その時なにが起こっていたが、ダンプを調査 2. メモリ上で書き換える
  4. それでは、私、早川から、昨年 9 月に公開され、皆さんのデバッグ ライフに革命をもたらす可能性を秘めた Time Travel Debugging をご紹介させていただきます。 と、その前に、、、
  5. 例外発生時点まで逆戻りをしてコールスタックを表示しました
  6. 関数の呼び出し箇所までさかのぼって操作しました
  7. そう、新しい WinDbg では、プログラムを過去の時点に遡ってデバッグすることができるのです。
  8. そう、新しい WinDbg では、プログラムを過去の時点に遡ってデバッグすることができるのです。
  9. まず、ご覧いただいたようにリボン UI を持つようになり、操作性が向上しました
  10. まず、ご覧いただいたようにリボン UI を持つようになり、操作性が向上しました
  11. まず、ご覧いただいたようにリボン UI を持つようになり、操作性が向上しました
  12. まず、ご覧いただいたようにリボン UI を持つようになり、操作性が向上しました
  13. まず、ご覧いただいたようにリボン UI を持つようになり、操作性が向上しました
  14. そもそもトレースを取れない
  15. ここで WinFile を起動して、問題を見せる WinFile – Win9x 時代のファイルマネージャ GitHubにて公開 https://github.com/Microsoft/winfile 問題点 特定のフォルダをクリックするとエラー ダイアログ ヘルプをクリックするとエラー ダイアログ
  16. ここで WinFile を起動して、問題を見せる WinFile – Win9x 時代のファイルマネージャ GitHubにて公開 https://github.com/Microsoft/winfile 問題点 特定のフォルダをクリックするとエラー ダイアログ ヘルプをクリックするとエラー ダイアログ
  17. ここで WinFile を起動して、問題を見せる WinFile – Win9x 時代のファイルマネージャ GitHubにて公開 https://github.com/Microsoft/winfile 問題点 特定のフォルダをクリックするとエラー ダイアログ ヘルプをクリックするとエラー ダイアログ
  18. ここで WinFile を起動して、問題を見せる WinFile – Win9x 時代のファイルマネージャ GitHubにて公開 https://github.com/Microsoft/winfile 問題点 特定のフォルダをクリックするとエラー ダイアログ ヘルプをクリックするとエラー ダイアログ
  19. 開発専門家とデバッグ専門家の境
  20. 開発専門家とデバッグ専門家の境