9

VisualStudioで非常に苛立たしい問題が発生しています。私はResharperを使用しており、Nunitでテストを書いています。

ブレークポイントを設定するとヒットしますが、ステップイン/オーバーとコンティニューが機能せず、テストが終了しません。ブレークポイントを2つ設定しても、続行しても2つ目はヒットしません。ブレークポイントなしでテストをデバッグすると、正常に終了します。

また、頻繁に断続的に、ブレークポイントを設定してテストをデバッグしようとすると、変数の内容を評価できませんが、代わりに次のメッセージが表示されます。

Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation.

VisualStudio2010を使用しています。

何を見るべきかについて何かアイデアがあれば教えてください...私はウェブを精査しましたが、運がありませんでした。

必要に応じて、さらに詳しい情報を提供させていただきます。

編集-メソッドの例

テスト:

[Test]
public void OneRowAddedToSourceData() {
    //Factory just returns System.Data.DataTable with correct columns.
    var sourceData = new DataTableContainerFactory().GetTargetTableContainer(DataTypeNames.EventSharedEnd);

    //GetRow just returns a populated row.
    var row = GetRow(sourceData, 123456, 123,60, 31);

    sourceData.DataTable.Rows.Add(row);
    Assert.AreEqual(1, sourceData.DataTable.Rows.Count);
}

Assertステートメントにブレークポイントを設定し、データテーブルを評価しようとすると、この問題が発生します。

更新2! そこで、この問題をResharperDebuggingに絞り込みました。テストクラスをNUnitではなくMSTestに変更しましたが、Resharperでデバッグすると上記の両方の問題が発生しました。ただし、組み込みのVS MSTestテストランナーを使用してテストを実行すると、すべての問題が解決しました。

今ではNUnitとResharperを使用する方がずっと好きなので、Resharperが適切にデバッグできる設定を誰かが教えてくれたらとても嬉しいです。

4

2 に答える 2

5

警告はありますが、私には可能な解決策があります。いくつか検索を行い、このブログアイテムに出くわしました。Enable property evaluation and other implicit function callsからオフにすることをお勧めしTools->Options->Debugging->Generalます。これをオフにすると、以前にこの問題を引き起こしたアイテムに入ることができます。

注意点は、自動的に評価されるのに慣れているすべてのプロパティが表示されなくなったことです。代わりImplicit function evaluation is turned off by user.に、プロパティの[更新]ボタンを押すだけで値が表示されると表示されますが、これがトレードオフであるかどうかは決定していません。

于 2012-06-04T15:14:17.437 に答える
0

この問題を解決する方法を見つけました!

オプションDEBUG->OPTIONS AND SETTINGS->GENERAL->ENABLE PROPERTY EVALUATION AND OTHER IMPLICIT FUNCTION CALLSをチェックし、オプションCall string-conversion function on objects in variable windows のチェックを外します

これは私にはうまくいきました!

于 2014-01-14T13:37:27.960 に答える