私はAzureデータレイク解析とU-SQLを学習しています。私は実行され、期待される出力を生成する簡単なスクリプトを持っています。しかし、ヘルパーメソッドの背後にあるコードにブレークポイントを設定すると、シンボルがロードされていないため、決してヒットしません。私は利用可能なMicrosoftのチュートリアルをすべて見てきましたが、デバッグを有効にするために何かをしなければならないという提案はありません。ブレークポイントの背後にあるU-SQLコードがヒットしない
- ローカルで実行しています。
- F5キーを使用してデバッグモードで実行しています。
- スクリプトが正常に完了しました。
- 出力は、ヘルパーメソッドが
namespace DataLake { public class Helper { public static string Test() { Console.WriteLine("Stop"); return "Test"; } } }
アウトプットウィンドウの背後に
U-SQL
@searchlog =
EXTRACT UserId int,
Start DateTime,
Region string,
Query string,
Duration int,
Urls string,
ClickedUrls string
FROM "/SearchLog.tsv"
USING Extractors.Tsv();
@searchlog = SELECT
UserId,
DataLake.Helper.Test() AS Test,
Start,
Region,
Query,
Duration,
Urls,
ClickedUrls
FROM @searchlog;
OUTPUT @searchlog
TO "/SearchLog_output.tsv"
USING Outputters.Tsv();
コードを実行されたことを確認
'DebugHost.exe' (CLR v4.0.30319: DefaultDomain): Loaded.
'C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561
934e089\mscorlib.dll'. Symbols loaded.
'DebugHost.exe' (CLR v4.0.30319: DefaultDomain): Loaded
'C:\Users\ksmith\Documents\Visual Studio
2017\Projects\USQLApplication1\DataLake\bin\LocalDebug\DebugHost.exe'.
Symbols loaded.
'DebugHost.exe' (CLR v4.0.30319: DebugHost.exe): Loaded
'C:\Users\ksmith\Documents\Visual Studio
2017\Projects\USQLApplication1\DataLake\bin\LocalDebug\Microsoft.Cosmos
.ScopeStudio.BusinessObjects.Debugger.dll'. Cannot find or open the PDB
file.
'DebugHost.exe' (CLR v4.0.30319: DebugHost.exe): Loaded
'C:\Users\ksmith\Documents\Visual Studio
2017\Projects\USQLApplication1\DataLake\bin\LocalDebug\Microsoft.Cosmos
.ScopeStudio.BusinessObjects.Common.dll'. Cannot find or open the PDB file.
'DebugHost.exe' (CLR v4.0.30319: DebugHost.exe): Loaded
'C:\Users\ksmith\Documents\Visual Studio
2017\Projects\USQLApplication1\DataLake\bin\LocalDebug\Microsoft.Analytics
.LocalRun.dll'. Cannot find or open the PDB file.
'DebugHost.exe' (CLR v4.0.30319: DebugHost.exe): Loaded
'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c56
1934e089\System.dll'. Symbols loaded.
'DebugHost.exe' (CLR v4.0.30319: DebugHost.exe): Loaded
'C:\Users\ksmith\Documents\Visual Studio
2017\Projects\USQLApplication1\DataLake\bin\LocalDebug\Microsoft.Cosmos.
ClientTools.Shared.dll'. Cannot find or open the PDB file.
'DebugHost.exe' (CLR v4.0.30319: DebugHost.exe): Loaded
'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__
b77a5c561934e089\System.Core.dll'. Symbols loaded.
'DebugHost.exe' (CLR v4.0.30319: DebugHost.exe): Loaded
'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b
77a5c561934e089\System.Xml.dll'. Symbols loaded.
'DebugHost.exe' (CLR v4.0.30319: DebugHost.exe): Loaded
'C:\Users\ksmith\Documents\Visual Studio
2017\Projects\USQLApplication1\DataLake\bin\LocalDebug\ScopeRuntime.exe'.
Cannot find or open the PDB file.
The program '[28036] DebugHost.exe' has exited with code 0 (0x0).
は誰でも当てることができますブレークポイントがヒットしなかった理由についてのいくつかの光?
Debugger.Launch()を追加しています。 Just-In-Time Debuggerウィンドウが表示されました。オプションの1つを選択すると、ビジュアルスタジオのインスタンスが取得され、ブレークポイントのコードがヒットします。 VSインスタンスがLocalVertexHost
Visual Studioでのデバッグオプションにおかげ
あなたはあなたが描いていることをすることができるはずです。シンボルがロードされていないことをどのように知っていますか? VSのバージョンと使用しているADLプラグインを共有すると役立ちます。あなたがツールチームと個人的に共有するならば、スクリプトとVSプロジェクトを見てみることができます:bigdatatools(at)Microsoftドットコム。 – OmidA
$(ProjectDirectory)\ bin \ debug \ XXXXX \ _ScriptFileName_YYYY \ __codebehind_zzzz.dllと.pdbが存在するかどうかを確認してからF5をクリーンにしてください。それは動的に生成されたdllとpdbのコードビハインドアセンブリです。これらがすべて存在することを確認したら、デバッガを停止してdllが "modules"にロードされているかどうかを確認し、そこからpdbファイルをロードしてそのシンボルをロードできるかどうかを調べることができます。 –
私はVS 2015 - ADL 2.2.2100.0とVS 2017 - ADL 2.2.0001を使ってみました。 dllファイルとpdbファイルのコードはLocalDebugフォルダに作成されますが、モジュールウィンドウには表示されません – ksmith