Soumettre la recherche
Mettre en ligne
Visual studio de debug
•
7 j'aime
•
5,444 vues
Kazushi Kamegawa
Suivre
Debugging in Windows , use Intellitrace, WER, Global Flags in Japanese
Lire moins
Lire la suite
Signaler
Partager
Signaler
Partager
1 sur 35
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦
urasandesu
PHP agile test tips
PHP agile test tips
Tsutomu Chikuba
PowerShell and Release Management Server
PowerShell and Release Management Server
Kazushi Kamegawa
Eclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtips
Hiroki Kondo
Bat vb script_power_shellの単体テスト自動化
Bat vb script_power_shellの単体テスト自動化
Naoyuki Sano
EclipseでのデバッグTips
EclipseでのデバッグTips
stylefreeslide
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
プラガブル Play20 Scala
プラガブル Play20 Scala
Kazuhiro Sera
Recommandé
Eclipse を使った java 開発 111126 杉浦
Eclipse を使った java 開発 111126 杉浦
urasandesu
PHP agile test tips
PHP agile test tips
Tsutomu Chikuba
PowerShell and Release Management Server
PowerShell and Release Management Server
Kazushi Kamegawa
Eclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtips
Hiroki Kondo
Bat vb script_power_shellの単体テスト自動化
Bat vb script_power_shellの単体テスト自動化
Naoyuki Sano
EclipseでのデバッグTips
EclipseでのデバッグTips
stylefreeslide
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
プラガブル Play20 Scala
プラガブル Play20 Scala
Kazuhiro Sera
Play勉強会 第3回
Play勉強会 第3回
Daisuke Kasuya
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
Yuta Kawadai
App extensionでテストコードを書く
App extensionでテストコードを書く
Yusuke Kita
テストを書こう、Unity編
テストを書こう、Unity編
Hiroto Imoto
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
ryohji ikebe
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
ryohji ikebe
HeapStats(Java解析ツールバトル)
HeapStats(Java解析ツールバトル)
Yasumasa Suenaga
Andoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かす
shobomaru
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
Taku Miyakawa
System4 comment
System4 comment
Jun Chiba
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
Fuminobu TAKEYAMA
秋だからEclipse再入門
秋だからEclipse再入門
Katsumi Honda
Visual Studio Code #phpcon2015
Visual Studio Code #phpcon2015
Aya Tokura
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
Takayuki Kondou
最近の PowerShell のお話
最近の PowerShell のお話
Kazuki Takai
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
Driverについて
Driverについて
幸雄 村上
Selenium
Selenium
takeuchi-tk
Windowsでhaskell
Windowsでhaskell
Tadahiro Ishisaka
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門
leverages_event
Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理
Kazuki Takai
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
MorioImai
Contenu connexe
Tendances
Play勉強会 第3回
Play勉強会 第3回
Daisuke Kasuya
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
Yuta Kawadai
App extensionでテストコードを書く
App extensionでテストコードを書く
Yusuke Kita
テストを書こう、Unity編
テストを書こう、Unity編
Hiroto Imoto
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
ryohji ikebe
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
ryohji ikebe
HeapStats(Java解析ツールバトル)
HeapStats(Java解析ツールバトル)
Yasumasa Suenaga
Andoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かす
shobomaru
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
Taku Miyakawa
System4 comment
System4 comment
Jun Chiba
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
Fuminobu TAKEYAMA
秋だからEclipse再入門
秋だからEclipse再入門
Katsumi Honda
Visual Studio Code #phpcon2015
Visual Studio Code #phpcon2015
Aya Tokura
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
Takayuki Kondou
最近の PowerShell のお話
最近の PowerShell のお話
Kazuki Takai
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
Driverについて
Driverについて
幸雄 村上
Selenium
Selenium
takeuchi-tk
Windowsでhaskell
Windowsでhaskell
Tadahiro Ishisaka
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門
leverages_event
Tendances
(20)
Play勉強会 第3回
Play勉強会 第3回
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
App extensionでテストコードを書く
App extensionでテストコードを書く
テストを書こう、Unity編
テストを書こう、Unity編
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
HeapStats(Java解析ツールバトル)
HeapStats(Java解析ツールバトル)
Andoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かす
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
System4 comment
System4 comment
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
秋だからEclipse再入門
秋だからEclipse再入門
Visual Studio Code #phpcon2015
Visual Studio Code #phpcon2015
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
最近の PowerShell のお話
最近の PowerShell のお話
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
Driverについて
Driverについて
Selenium
Selenium
Windowsでhaskell
Windowsでhaskell
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門
Similaire à Visual studio de debug
Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理
Kazuki Takai
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
MorioImai
デスクトップ アプリ開発における Visual Studio の進化
デスクトップ アプリ開発における Visual Studio の進化
Katsuhiro Aizawa
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
Akira Inoue
Visual Studio 2012 Native Debugger Feature
Visual Studio 2012 Native Debugger Feature
Kazushi Kamegawa
Windows Azure PHP Tips
Windows Azure PHP Tips
Microsoft Openness Japan
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
Hideharu MATSUFUJI
DEV-004_ここを使うだけで、大幅に業務効率改善! Visual Studio 2015 update 2 の最新便利機能をピックアップ
DEV-004_ここを使うだけで、大幅に業務効率改善! Visual Studio 2015 update 2 の最新便利機能をピックアップ
decode2016
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
de:code 2017
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
Hide Koba
Windows Phone 7はじめました
Windows Phone 7はじめました
Akira Hatsune
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
shigeya
Build 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansai
Tomohiro Kumagai
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Kazumi Hirose
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
david9142
DEV-001_オープンソース エディタ Visual Studio Code の極意
DEV-001_オープンソース エディタ Visual Studio Code の極意
decode2016
Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島
Akira Onishi
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
Similaire à Visual studio de debug
(20)
Windows PowerShell 5.0 と Windows Server vNext の管理
Windows PowerShell 5.0 と Windows Server vNext の管理
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
デスクトップ アプリ開発における Visual Studio の進化
デスクトップ アプリ開発における Visual Studio の進化
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
.NET Core 5 ~ Windows, Linux, OS X そして Docker まで ~
Visual Studio 2012 Native Debugger Feature
Visual Studio 2012 Native Debugger Feature
Windows Azure PHP Tips
Windows Azure PHP Tips
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
DEV-004_ここを使うだけで、大幅に業務効率改善! Visual Studio 2015 update 2 の最新便利機能をピックアップ
DEV-004_ここを使うだけで、大幅に業務効率改善! Visual Studio 2015 update 2 の最新便利機能をピックアップ
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
Windows Phone 7はじめました
Windows Phone 7はじめました
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
Build 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansai
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
DEV-001_オープンソース エディタ Visual Studio Code の極意
DEV-001_オープンソース エディタ Visual Studio Code の極意
Windowsストアアプリ開発 オープンセミナー広島
Windowsストアアプリ開発 オープンセミナー広島
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
Plus de Kazushi Kamegawa
「何もしないのにCIが失敗した」を防ぐ
「何もしないのにCIが失敗した」を防ぐ
Kazushi Kamegawa
Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介
Kazushi Kamegawa
Azure boards for beginners
Azure boards for beginners
Kazushi Kamegawa
Deploy Strategy with Azure Pipelines
Deploy Strategy with Azure Pipelines
Kazushi Kamegawa
DevOps and compliance and security
DevOps and compliance and security
Kazushi Kamegawa
DevOps and Compliance and Security
DevOps and Compliance and Security
Kazushi Kamegawa
Ignite 2021 振り返り(DevOps)
Ignite 2021 振り返り(DevOps)
Kazushi Kamegawa
How to create your own Azure Pipeline's image
How to create your own Azure Pipeline's image
Kazushi Kamegawa
NET5 and Diagnostics
NET5 and Diagnostics
Kazushi Kamegawa
Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編
Kazushi Kamegawa
Introduce TFSUG and Azure DevOps Server 2020
Introduce TFSUG and Azure DevOps Server 2020
Kazushi Kamegawa
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Kazushi Kamegawa
Getting Start for Azure Pipelines
Getting Start for Azure Pipelines
Kazushi Kamegawa
Azure Boards and Azure Test Plans inside out.
Azure Boards and Azure Test Plans inside out.
Kazushi Kamegawa
Azure DevOps's security
Azure DevOps's security
Kazushi Kamegawa
Azure DevOps Management in Organization
Azure DevOps Management in Organization
Kazushi Kamegawa
What's new Azure DevOps in //Build 2019
What's new Azure DevOps in //Build 2019
Kazushi Kamegawa
Deploy to Azure by ??? Azure Repos or GitHub
Deploy to Azure by ??? Azure Repos or GitHub
Kazushi Kamegawa
Azure DevOpsとセキュリティ
Azure DevOpsとセキュリティ
Kazushi Kamegawa
What's Azure DevOps
What's Azure DevOps
Kazushi Kamegawa
Plus de Kazushi Kamegawa
(20)
「何もしないのにCIが失敗した」を防ぐ
「何もしないのにCIが失敗した」を防ぐ
Ignite 2021秋 recap - 開発者向け新機能紹介
Ignite 2021秋 recap - 開発者向け新機能紹介
Azure boards for beginners
Azure boards for beginners
Deploy Strategy with Azure Pipelines
Deploy Strategy with Azure Pipelines
DevOps and compliance and security
DevOps and compliance and security
DevOps and Compliance and Security
DevOps and Compliance and Security
Ignite 2021 振り返り(DevOps)
Ignite 2021 振り返り(DevOps)
How to create your own Azure Pipeline's image
How to create your own Azure Pipeline's image
NET5 and Diagnostics
NET5 and Diagnostics
Azure DevOps入門~TechLab編
Azure DevOps入門~TechLab編
Introduce TFSUG and Azure DevOps Server 2020
Introduce TFSUG and Azure DevOps Server 2020
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Azure DevOps Online Vol.3 - Inside Azure Pipelines
Getting Start for Azure Pipelines
Getting Start for Azure Pipelines
Azure Boards and Azure Test Plans inside out.
Azure Boards and Azure Test Plans inside out.
Azure DevOps's security
Azure DevOps's security
Azure DevOps Management in Organization
Azure DevOps Management in Organization
What's new Azure DevOps in //Build 2019
What's new Azure DevOps in //Build 2019
Deploy to Azure by ??? Azure Repos or GitHub
Deploy to Azure by ??? Azure Repos or GitHub
Azure DevOpsとセキュリティ
Azure DevOpsとセキュリティ
What's Azure DevOps
What's Azure DevOps
Visual studio de debug
1.
Visual Studio de
Debug かめがわ かずし(@kkamegawa)
2.
自己紹介 かめがわ かずし
/会社員 オンラインではkkamegawaというIDを使っています (twitter/hatena/Facebook/MSDN/Technet Forum) 6/3が誕生日でした(このスライド作っていたら誕生日が…) @ITさんで連載やってます。 いまさら聞けないWindows Serverの開発活用術 – 現在進行中 Visual Studioデバッグ手法 パフォーマンスチューニング 今日はこれ
3.
教えてください .NETアプリケーションのみで開発している
(アンマネージド/ネイティブはほとんど使わない) アンマネージド/ネイティブのほうが圧倒的に多い
4.
デバッグといえば? 開発中にやるもの? 単体テストで失敗したときにするもの?
どっちかといえば本番環境で起きて調べられなくて困っていま せんか?
5.
6.
今日のAgenda 事後デバッグ
Visual Studio 2012で強化されたIntelliTrace WER(Windows Error Reporting)の紹介 ちょっと便利なデバッグ機能 便利なWindowsのユーザーモードデバッグ支援機能
7.
やらないこと ダンプ解析Howto カーネルモードデバッグ
8.
Ultimateでしかつかえないけど強力 IntelliTrace
9.
IntelliTraceとは Visual Studio
2010 Ultimateに搭載されている.NETアプリ ケーション向けヒストリカルデバッグ機能 ヒストリカルデバッグとは、実行時に情報をキャプチャしておき、 例外が起きた後からさかのぼって「その時何が起きていたの か」という情報を閲覧する @ITのこちらの記事も読んでね 第2回 Visual Studio 2010の新機能「IntelliTrace」 http://www.atmarkit.co.jp/fdotnet/chushin/vsdebug_02/vsd ebug_02_01.html Test Managerと組み合わせると開発者と評価担当者で IntelliTraceの情報を共有できる おまけ機能(?)も…
10.
チームによるIntelliTrace運用
失敗したテストを TestManagerで登録 テスト結果を参照して (.itraceファイルも登録) .itraceファイルを開く TFS + Test Controller .itraceファイル (IntelliTrace) テスター 開発者
11.
※:画面はVisual Studio 2010英語版です
12.
IntelliTraceのおまけ-Debugger Canvas いわゆるCode
Bubble(関数単位でポップアップしていく) Visual Studioの拡張機能として提供される。 2012/6/9時点でVisual Studio 2010 SP1のみ対応 IntelliTraceの情報を参照することで実現されているので、残 念ながらUltimateのみで使用可能。
13.
Debugger Canvas
14.
Visual Studio 2012のIntelliTrace強化
IIS 7.0/7.5向けスタンドアロン版IntelliTrace Collectorが追加 主に本番環境での採取可能にするため たった2MBのコンパクトサイズ。インストーラーすらない .NET Framework 3.5以降のプロジェクトが対象 二種類のプロファイルを提供 おおざっぱに取得するLow 詳細に取得するHigh 解析はVisual Studio Ultimateが必要 PowerShellコマンドレットで制御可能
15.
Visual Studio 2012のIntelliTrace
Collector Demo
16.
IntelliTrace Collectorインストール IntelliTrace.exeを実行するとcabファイルが一つできる。
Cabファイルをexpandコマンドで展開(Explorerだとフォルダ が認識されないので注意) C:¥temp>expand –f:* Intellitracecollection.cab D:¥IntelliTraceCollector
17.
IntelliTrace Collector NTFS変更1
保存先フォルダに管理者もしくはPowerShellコマンドレット実 行する人のフルアクセスを付ける Collector展開先フォルダにアプリケーションプール実行ユー ザーの読み取りと実行を付ける Microsoft.IntelliTrace.Profiler.11.0.0.SC.dllにアプリケー ションプール実行ユーザーの読み取りと実行を付ける x64向けアセンブリは展開先のx64フォルダ内にある
18.
IntelliTrace Collector NTFS変更(実例)
DefaultAppPoolのユーザーにIntelliTraceCollectorが格納さ れているC:¥IntelliTraceCollectorに対して読み取りと実行を 許す例 c:¥>icacls C:¥IntelliTraceCollector /grant "IIS APPPOOL¥DefaultAppPool":(RX) DefaultAppPoolのユーザーにC:¥IntelliTraceDataフォルダ にログデータの書き込みを許す例 c:¥>icacls C:¥IntelliTraceData /grant "IIS APPPOOL¥DefaultAppPool":(F)
19.
PowerShellコマンドレット準備 PowerShellを追加していない環境はないはずなので略
(同様にSet-ExecutionPolicyも略) x64のログ採取をするときはx64用PowerShell。アプリケー ションプールをx86に設定したASP.NETアプリケーションのロ グ採取をするときはPowerShell (x86)を「管理者として起動」 Microsoft.VisualStudio.IntelliTrace.PowerShell.dllをimport する PS>import-module <IntelliTraceCollector>Microsoft.VisualStudio.IntelliTrace. PowerShell.dll
20.
PowerShellで採取 ログ採取開始
PS>Start-IntelliTraceCollection <アプリケーションプール名 > <プラン名> <IntelliTraceログ出力先> スナップショット採取 PS>Checkpoint-IntellitraceCollection <アプリケーション プール名> 停止 PS>Stop-IntelliTraceCollection <アプリケーションプール名 > 拡張子iTraceファイルが指定フォルダにできているので、 Visual Studioで開く
21.
IntelliTrace Collectorの注意点 とりすぎ注意。IntelliTraceの採取対象モジュールを絞る
たとえばレジストリアクセスなどは採取しない Lowで15%程度の性能低下 Highでは広範囲に採取するため、かなり低下する 採取プラン(xmlファイルで定義)のカスタマイズほぼ必須。 アプリケーションプールで共有されているアプリに対して有効 なので、複数のアプリケーションが共有している場合、対象の アプリケーションのみアプリケーションプールを分ける IntelliTraceのログ上限を小さくする(デフォルト100MB) SSDがあるならSSDを出力先にする
22.
ちょっと変わったプログラムのデバッグ時に知っておくと便利ですよ Windowsのデバッグ支援機能
23.
Windows Error Reporting(参考)
WER(Windows Error Reporting)の標準設定ではMicrosoftの サーバーに特定の情報が送られて、解析される。 http://www.atmarkit.co.jp/ad/ms/msimpsbl0608/miimpsbl02/mii mpsbl02.html システム・エラーと闘う人々 http://msdn.microsoft.com/ja- jp/library/windows/hardware/gg487468.aspx WER がエラー報告を収集して分類するしくみ MSに送らず、組織内ダンプ&クラッシュ情報を集める設定もできる よ!(有償だとSCOM 2007が対応) http://technet.microsoft.com/ja-jp/library/cc540375.aspx WERプロトコルは公開されているので、がんばれば作れる。 http://msdn.microsoft.com/en- us/library/dd942170%28PROT.10%29.aspx
24.
自分のプログラムのダンプがほしい WERのレジストリを設定する(詳細)
http://msdn.microsoft.com/en- us/library/bb513638%28VS.85%29.aspx WER Settings ユーザーモードダンプを構成する http://msdn.microsoft.com/en- us/library/windows/desktop/bb787181(v=vs.85).aspx Collecting User-mode Dumps 以下のレジストリキーを追加するだけ で%LOCALAPPDATA%CrashDumpsに生成される HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Wind ows¥Windows Error Reporting¥LocalDumps
25.
使うとさらに便利です Windows Debugging Hook
26.
必要なもの Debugging Tools
for Windows 通常Windows SDKに付属、もしくは単体でインストール http://msdn.microsoft.com/ja- jp/windows/hardware/gg463009.aspx インストールするとGlobal Flagsというアプリケーションが追 加されます。
27.
複数のプロセスを同時に起動する AとBというプロジェクトがあって、Bのデバッグを行う際にAも
起動している必要があるだけならVisual Studioのマルチス タートアップ プロジェクトを使ってデバッグすればいい
28.
他プロセスの状態に依存するとき そうではなくて、ほかのプロセスが不定なタイミングで起動す
る(引数やデータベース、メモリの状態など)場合。 どれが起動され るかわからない B.EXE A.EXE これをデバッグ したい C.EXE D.EXE DB
29.
そこでGlobal Flag Image(exe名)
Debuggerにチェック 隣にデバッガのパス 無効にするときは Debuggerのチェックを はずす
30.
もう一つの方法 レジストリ編集する
HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Wind ows NT¥CurrentVersion¥Image File Execution Options この下に対象のプログラム名のキーを作成する。メモ帳なら notepad.exe キー内に以下の設定で作る 名前:Debugger データ型:REG_SZ データ:デバッガのフルパスと起動引数 Global Flagで設定できない時などにどうぞ。
31.
DLLが呼ばれた時に止める exeから任意のタイミングで呼び出されるDLL
典型的にはDLLとして提供するサービス 特定のソフトウェアのプラグインを作った場合 前と同じレジストリ編集 HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Wind ows NT¥CurrentVersion¥Image File Execution Options DLL名をキーとして作る(hogehoge.dll) 名前:BreakOnDllLoad データ型:REG_DWORD データ:1
32.
あれ?サービスって… 一定期間(30秒)応答ないとエラーになるよね? デバッグはOutputDebugString()でサービス版printf()?
レジストリでタイムアウト設定すれば回避可能です (Windows 7では作ってください) キー:HKEY_LOCAL_MACHINE¥System¥CurrentControlSet¥C ontrol データ:ServicesPipeTimeout データ型:REG_DWORD 値:ミリ秒 デバッグ以外でも起動が遅いサービス(RDBMS)でも有効 (Service Control Managerのイベント7000/7011が出るとき)
33.
まとめ IntelliTrace(Collector)はマネージドコードのみ、さらには
Ultimateエディションのみだが便利。特に今まで「本番環境 じゃないと起きないけど、目星が大体ついている」というときな どに使ってください Visual Studio以外にもたしなみとして、Debugging Tools for Windowsに含まれるものは知っておいた方がいいです Global Flagは乗りこなせばネイティブヒープのメモリリークも わかるので、これを機会におぼえてみてください!
34.
参考資料 Special Thanks
Edtter http://edtter.codeplex.com/ Inside Windows Debugging http://shop.oreilly.com/product/0790145335500.do Windows Internals 6th Part1 http://shop.oreilly.com/product/0790145305930.do
Télécharger maintenant