問題タブ [visual-studio-debugging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2008 - VS2008 : デバッグで外部プログラムを開始する
私は3つのプロジェクトで解決策を持っています:
- シリアル ポート経由で接続されたデバイスのコンソール (GUI アプリ) です。
- シリアル ポート エミュレーション (コンソール アプリ、セルフホステッド WCF サービス)。
- 共通インターフェース。
デバッグするには、SerialPortEmulator を起動し、メイン プロジェクトをデバッグ (F5) します。
2 つの問題:
- エミュレーターを起動するには、追加のキーストロークが必要です。
- コンパイルする前にエミュレーターを停止することを忘れないでください (重大な変更がある場合)。
質問: エミュレータ プロジェクトをデバッグ時に開始し、デバッグ停止時に終了するのが理想的です。それを行う簡単な方法はありますか?
別のソリューションでエミュレーターを使用することもできますが、インターフェイス定義ライブラリーが常に同期していることを確認する必要があります。
.net - 参照されたXSLテンプレートでスクリプトを作成するためのアセンブリの使用
2つのXSLファイルがあります。1つには、を使用した別のが含まれます<xsl:include>
。メインテンプレートは、ノード値に応じて呼び出す実際のテンプレートを決定し、含まれているテンプレートには実際の変換ルールが含まれています。ここでは特別なことは何もありません。
ただし、含まれているファイルにはスクリプトブロックがあります。
user:escape()関数は、後で含まれているテンプレートで使用されます。
次に、VS2008XSLTデバッガーに移動します。
メインテンプレートが呼び出さ<xsl:apply-templates>
れ、含まれているテンプレートが実行されます。また、FileNotFound例外が発生し、「ファイルまたはアセンブリ'MyEscaper、Version = 1.0.0.0、Culture = neutral、PublicKeyToken=null'またはその依存関係の1つを読み込めませんでした。システムは指定されたファイルを見つけることができません。」
ここで、含まれているファイルだけに移動して、何にも含まれていないスタンドアロンテンプレートであるかのように実行すると、すべてが機能します。アセンブリが検出され、関数が呼び出されますが、インクルージョンとして設計されたテンプレートとして、結果は明らかに意味がありません。
では、質問-テンプレートが含まれているのに、なぜシステムがアセンブリを見つけられないのでしょうか?
詳しくは
ドキュメントには、「アセンブリパス名は2回解決されます。1回はコンパイル中、もう1回は実行中です」と記載されています。パスに意図的にタイプミスをすると、同じFileNotFound例外が発生しますが、フォーマットが異なり、システムはfile:// C:\ Absolute \ Path\MyEscaper.dllを見つけることができないと言います。ただし、パスが正しい場合、例外はMyEscaper.dll、version = blabla、public token = nullが見つからなかったと主張し、その例外は.Netによって作成されたCompiledStylesheet.dllで発生します。コンパイルされたスタイルシートは、hrefではなく名前でアセンブリを呼び出すように指示されていると思います。また、一時フォルダーにないため、呼び出しは失敗します。
なぜそうなのか?絶対パスが(誤って)相対パスに変換される場所と理由、およびそれを制御するにはどうすればよいですか?
dependency-injection - DepedencyInjectionに基づくCodeCampServerのようなコードをデバッグするにはどうすればよいですか?
私のプロジェクト構造は、CodeCampServer構造などのようなものです。UI.dll、Core.dll、DependencyResolution.dllは、UI.dllとcore.dllの両方に依存しています。
web.configで、DependencyResolution.dllのHttpModulesを使用してすべての依存関係をインスタンス化します。したがって、UI.dllにDependencyResolution.dllへの参照がないため、VS2008でこのアプリケーションを実行できません(すでに言ったように、DependencyResolution.dllはすでにUI.dllを参照しているので、参照しないでください。したがって、コードにステップインする通常の方法でこのアプリケーションをデバッグする機会を失いました。
アタッチして処理する機能を使用して、ローカルホストIIS(Windows 7マシンのバージョン7)でアプリケーションをデバッグできると思いましたが、残念ながら期待どおりに機能しませんでした。エラーが発生した場合、VSはコードを強調表示せず、ステップインできません。
私の質問は、この種のアプリケーションをデバッグするための最良の方法は何ですか(CodeCampServerが良い例です)。
c++ - OpenCV cvLoadImage() は、ビジュアル スタジオ デバッガーでイメージをロードしませんか?
私は OpenCV の単純な Hello World を作成しようとしていますが、なぜそれが機能しないのかについてのアイデアが不足しています。
このコードをコンパイルして実行すると:
示された .jpg ファイルの代わりに、約 200x200 の灰色のボックスが表示されます。別のjpgを使用すると、同じ種類のウィンドウが表示され、無効なファイル名を入力すると、非常に小さなウィンドウが表示されます(予想通り)。
Windows 7 Professional で Visual Studio 2008 を使用しています。
ほとんどのサンプル プログラムは正常に動作するように見えるので、そのコードがサンプル jpg を正常にロードする方法について二重に混乱していますが、上記のコードでは動作しません (サンプル jpeg を試しても)。
アップデート
コンパイルによって生成された実行可能ファイルは正常に動作しますが、Visual Studio 2008 デバッガーは、デバッガーを実行しようとするたびに null ポインターを img に読み込みます (ファイルの場所が暗黙的か明示的かに関係なく)。
visual-studio - VS2010 のブレークポイントですべてのスレッドをフリーズする
VS2010 Beta 2 を使用して、マルチスレッド コードをデバッグしています。並列スタックなどが大好きです。
ただし、質問があります。複数のスレッドから呼び出される可能性のあるメソッドにブレークポイントを設定しています。ブレークポイントに到達したら、そのブレークポイントをトリガーしたスレッドに集中したいと思います。ただし、「ステップ」を押すと、VS が別のスレッドに切り替わることがよくあります (たとえば、スレッド 1 で停止しているが、その間にスレッド 2 がブレークポイントにヒットしたとします)。
スレッド ウィンドウでスレッドを手動でフリーズできることはわかっています。自動的に行う方法はありますか?基本的に、ブレークポイントに到達したら、F-5 を押すまで現在のスレッドを除くすべてのスレッドをフリーズしますか?
asp.net-mvc - ASP.NET MVC 2 リリース バージョンの実際のデバッグ シンボル
ASP.NET MVC 2 のリリース バージョン (Web プラットフォーム インストーラーを介してインストールされるバージョン) からの実際のデバッグ シンボルが必要です。
ソースをダウンロードし、そこからデバッグ シンボルをビルドして使用できることはわかっています。しかし、このアプローチにはいくつかの問題があります。
- 署名されていないため、このバージョンの DLL を使用して他のすべての依存関係を再構築する必要があります。ソースを提供しないサードパーティのライブラリを使用している場合、これは実行できません。
- 最新のソースからビルドされたバージョンは、リリース バージョンと一致しません (おそらく、署名のみの違いが原因です)。そのため、その .pdb を参照できません。
- カスタム ビルドや、標準インストールからインストールされたもの以外のビルドへの依存は望んでいません。
別の dll を導入せずにソースをステップ実行できるように、デバッグ シンボルが必要なだけです。公開されている Microsoft Symbol Server を使用しようとしましたが、この dll のシンボルがダウンロードされません。
この .pdb が存在するかどうか知っている人はいますか?
(新しいバージョンの Reflector を使用して、この dll を生成してステップ実行できることはわかっていますが、これはプロフェッショナル バージョン用であり、現在は費用がかかります。)
visual-studio-2010 - Visual Studio 2010 for Silverlightデバッグで辞書デバッグビジュアライザーがあまり役に立たないのはなぜですか?
インストールしたばかりのVisualStudio2010でデバッグしていて、クイックウォッチウィンドウで辞書を確認しようとしました。キーと値が表示されますが、それらをドリルダウンすると、カウントメンバーと非公開メンバーが表示されます。非公開メンバーはトレイルを続行し、ディクショナリに値が表示されることはありません。test.Take(10)を実行して値を確認できますが、なぜそれを実行する必要があるのですか。比較するVS2008はもうインストールされていませんが、辞書をはるかに簡単にデバッグできるようです。なぜ今このようになっているのですか?どういうわけか自分のマシンに設定しただけの設定ですか?
テストコード:
編集:コンソールアプリで同じデバッグを試しましたが、期待どおりに機能します。もう1つのプロジェクトはSilverlight4アプリケーションですが、なぜそれらが異なるのですか?
編集:Microsoft Connectからの返信:「これは私たちの側の省略でした-以前はVisual Studio 2008 SP1のこの正確な問題を修正していましたが、残念ながらこの修正はVisual Studio 2010コードベースに移植されませんでした。これは再び修正されました(これは良い時間です!)そして、VS2010SP1でこの修正を出荷することを検討しています。
Alex Turner Program Manager Visual BasicおよびC#コンパイラ」したがって、すぐに修正されるはずです。
編集:SP1でこれを再確認したところ、正しく機能しています。
c# - 利用可能なソースがありません
何が起こったのか、何かをしたのかわかりません。デバッグしようとすると、すべてのBCLで利用できるソースがないと表示されます。たとえば、debug.printでは、次のメッセージが表示されます。
'f:\ dd \ ndp \ fx \ src \ CompMod \ System \ Diagnostics\Debug.cs'のソースを検索しています。チェックサム:MD5 {40 74 18 44 a8 15 28 2e 54 75 5e 40 d1 5f 6a 0}
ファイル'f:\ dd \ ndp \ fx \ src \ CompMod \ System \ Diagnostics\Debug.cs'は存在しません。
スクリプトドキュメントで「f:\ dd \ ndp \ fx \ src \ CompMod \ System \ Diagnostics\Debug.cs」を探しています...
プロジェクトで「f:\ dd \ ndp \ fx \ src \ CompMod \ System \ Diagnostics\Debug.cs」を探します。プロジェクトでファイルが見つかりませんでした。
ディレクトリ'C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ crt \ src\'..を探しています。
ディレクトリ'C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ atlmfc \ src \ mfc\'..を探しています。
ディレクトリ'C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ atlmfc \ src \ atl\'..を探しています。
ディレクトリ'C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ atlmfc \ include\'..を探しています。
アクティブなソリューションのデバッグソースファイル設定は、デバッガーがユーザーにファイルの検索を要求しないことを示しています:f:\ dd \ ndp \ fx \ src \ CompMod \ System \ Diagnostics\Debug.cs。
デバッガーはソースファイル'f:\ dd \ ndp \ fx \ src \ CompMod \ System \ Diagnostics\Debug.cs'を見つけることができませんでした。
これは今でもずっと起こります、そして私は:
- Fを持っていない:
- .netFrameworkのソースステッピングを有効にするがオフになっている
これらのメッセージを消すための他の卑劣な設定はありますか?
visual-studio - 別のフレームワークバージョンに対して構築されたVisualStudioデバッガビジュアライザーを使用するにはどうすればよいですか?
Visual Studio 2010サンプルにあるExpressionTreeVisualizerプロジェクトをコンパイルしましたが、.NET 3.5プロジェクトで使用しようとすると、以下の例外が発生します。
ファイルまたはアセンブリを読み込めませんでした'file:/// C:\ Program Files(x86)\ Microsoft \ Visual Studio 2010 \ Common7 \ Packages \ Debugger \ Visualizers\ExpressionTreeVisualizer.dll'またはその依存関係の1つ。このアセンブリは、現在ロードされているランタイムよりも新しいランタイムによってビルドされ、ロードできません。
サンプルプロジェクトでは、TargetFrameworkVersionがv4.0に設定されており、v3.5に変更してビルドした後、プロジェクトで機能するようになりました。
ソースコードとプロジェクトファイルを変更して再構築し、2つの式ツリービジュアライザーを作成しました。1つはv3.5プロジェクト用、もう1つはv4.0プロジェクト用です。もっと良い方法はありますか?
ありがとう!
debugging - Just My Code が有効になっているときに VS2010 がフレームワークのソース コードを探しているのはなぜですか?
これをグーグルで検索すると、フレームワークコードをステップスルーする方法に関する多くのエントリが得られます。踏み込まない方法を見つけようとしています。
最初のチェック: はい、[ツール] -> [オプション] -> [デバッグ] で [マイ コードのみを有効にする] がチェックされています。これは、フレームワーク関数 (または、私が理解しているように、ソースがない他のもの) をステップ実行するときに、VS2010 がソース コードを検索しないようにするためのものです。
そうではありません。F11 を使用してコードをステップ実行しようとしていますが、不注意になり、ライブラリ内の関数に到達したときに (関数呼び出しをステップ オーバーするために) F10 に切り替えないと、エラーが発生しますその呼び出しのソースがどこにあるかを尋ねるダイアログが表示され、それをキャンセルすると (ソースがないため)、デバッグが中止され、最初からやり直す必要があります。
この動作を回避するにはどうすればよいですか。ドキュメントを理解しているので、これは本来の動作方法ではありません。また、機能しない場合はどこにサポートを依頼すればよいでしょうか?