IntelliTrace를 사용하여 메서드로 참조로 전달 된 문자열의 출력과 같은 이벤트 (또는 모든 경우)의 메서드 결과를 볼 수 없습니다.참조로 IntelliTrace 인수
방법 예 :
public bool ByReferenceTestMethod(System.ArgumentNullException exception, ref string referenceArgument)
{
referenceArgument = string.Format("referenceArgument{0}", exception.Message);
return true;
}
collectionplan.xml 예 참조 인수 참조없이 작동 : 기준 인자를 참조하여 작동하지
<DiagnosticEventSpecification>
<CategoryId>stackoverflow.test.application</CategoryId>
<SettingsName _locID="settingsName.Test.Application.Reference">VerifyIDFromBackEnd called</SettingsName>
<SettingsDescription _locID="settingsDescription.Test.Application.Reference">VerifyIDFromBackEnd was called</SettingsDescription>
<Bindings>
<Binding onReturn="false">
<ModuleSpecificationId>stackoverflow.test.application</ModuleSpecificationId>
<MethodName>ByReferenceTestMethod</MethodName>
<MethodId>Test.Application.TestClass.ByReferenceTestMethod(System.ArgumentException,System.String&):System.Boolean</MethodId>
<ShortDescription _locID="shortDescription.Test.Application.Reference.called">Method 'ByReferenceTestMethod' called</ShortDescription>
<LongDescription _locID="longDescription.Test.Application.Reference.called">ByReferenceTestMethod called with ArgumentException parameter name "{0}" and message "{1}"</LongDescription>
<TypeName>Test.Application.TestClass</TypeName>
<DataQueries>
<DataQuery index="1" maxSize="2048" type="String" name="Exception parameter" _locID="dataquery.Test.Application.Reference.exception.Paramname" query="m_paramName" />
<DataQuery index="1" maxSize="2048" type="String" name="Exception message" _locID="dataquery.Test.Application.Reference.exc5eption.Message" _locAttrData="name" query="_message" />
</DataQueries>
</Binding>
<Binding onReturn="true">
<ModuleSpecificationId>stackoverflow.test.application</ModuleSpecificationId>
<MethodName>ByReferenceTestMethod</MethodName>
<MethodId>Test.Application.TestClass.ByReferenceTestMethod(System.Exception,System.String&):System.Boolean</MethodId>
<ShortDescription _locID="shortDescription.Test.Application.Reference.result">Method 'ByReferenceTestMethod' completed</ShortDescription>
<LongDescription _locID="longDescription.Test.Application.Reference.result">ByReferenceTestMethod returned result "{0}" with an unknown referenceArgument</LongDescription>
<TypeName>Test.Application.TestClass</TypeName>
<DataQueries>
<DataQuery index="-1" maxSize="0" type="Boolean" name="Reference Result" _locID="dataquery.Test.Application.Reference.result" _locAttrData="name" query="" />
</DataQueries>
</Binding>
</Bindings>
</DiagnosticEventSpecification>
collectionplan.xml 예 :
<LongDescription _locID="longDescription.Test.Application.Reference.result">ByReferenceTestMethod returned result "{0}" with referenceArgument "{1}"</LongDescription>
<TypeName>Test.Application.TestClass</TypeName>
<DataQueries>
<DataQuery index="-1" maxSize="0" type="Boolean" name="Reference Result" _locID="dataquery.Test.Application.Reference.result" _locAttrData="name" query="" />
<DataQuery index="2" maxSize="4096" type="String" name="referenceArgument" _locID="dataquery.Test.Application.Reference.Reference.Value" _locAttrData="name" query="" />
</DataQueries>
이것 해결 된 마커가없는 LongDescription을 보여줍니다. 메시지 자체가 전혀 나타나지 않는 순서를 지정하십시오.
내가 이해할 때, 메서드가 반환 될 때까지 해당 이벤트가 평가되지 않으므로 ref는 onResult = "true"일 때 표시되어야합니다. onResult = "false"데이터 쿼리에서 동일한 인수를 사용하면 메서드에 의해 값이 설정되기 전에 평가됩니다.
내가 뭘 잘못하고 있니?