代码之家  ›  专栏  ›  技术社区  ›  Fabio Milheiro

为什么IntelliTrace不显示代码?

  •  3
  • Fabio Milheiro  · 技术社区  · 15 年前

    我正在使用IntelliTrace在Azure服务器上调试应用程序。有时我可以看到产生异常的代码,但有时我不能看到。我看不到的各个代码的异常总是相同的。

    当我双击异常以开始调试它时,是否有任何原因使我在新选项卡中一直收到相同的消息(没有可用的源)?

    我已经知道异常是什么,我需要做什么来解决它,但我也需要知道在哪里可以找到代码!帮助。

    例子

    @ SLaks

    我得到的一个例外例子是:

    "The condition specified using HTTP conditional header(s) is not met."
    

    调用堆栈:

    [External Code] 
        System.dll!System.Net.LazyAsyncResult.Complete(System.IntPtr userToken = {unknown}) 
    [External Code] 
    System.dll!System.Net.ContextAwareResult.Complete(System.IntPtr userToken = {unknown})  
    System.dll!System.Net.HttpWebRequest.ProcessResponse()  
    System.dll!System.Net.HttpWebRequest.SetResponse(System.Net.CoreResponseData coreResponseData = {unknown})  
    System.dll!System.Net.ConnectionReturnResult.SetResponses(System.Net.ConnectionReturnResult returnResult = {unknown})   
    System.dll!System.Net.Connection.ReadComplete(int bytesRead = {unknown}, System.Net.WebExceptionStatus errorStatus = {unknown}) 
    System.dll!System.Net.Connection.ReadCallback(System.IAsyncResult asyncResult = {unknown})  
    System.dll!System.Net.LazyAsyncResult.Complete(System.IntPtr userToken = {unknown}) 
    System.dll!System.Net.Security._SslStream.ProcessFrameBody(int readBytes = {unknown}, byte[] buffer = {unknown}, int offset = {unknown}, int count = {unknown}, System.Net.AsyncProtocolRequest asyncRequest = {unknown})   
    System.dll!System.Net.Security._SslStream.ReadFrameCallback(System.Net.AsyncProtocolRequest asyncRequest = {unknown})   
    System.dll!System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(int bytes = {unknown})  
    System.dll!System.Net.FixedSizeReader.ReadCallback(System.IAsyncResult transportResult = {unknown}) 
    System.dll!System.Net.LazyAsyncResult.Complete(System.IntPtr userToken = {unknown}) 
    [External Code] 
    System.dll!System.Net.ContextAwareResult.Complete(System.IntPtr userToken = {unknown})  
    System.dll!System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(uint errorCode = {unknown}, uint numBytes = {unknown}, System.Threading.NativeOverlapped* nativeOverlapped = {unknown})  
    [External Code] 
    

    编辑:

    这些例外实际上是我造成的。下面是一个例子:

    AzureBrightWebRole.dll!AzureBright.Common.EasyPay.EasyPay.CheckFinishedPayments()   
    AzureBrightWorkerRole.dll!AzureBrightWorkerRole.WorkerRole.Run()    
    Microsoft.WindowsAzure.ServiceRuntime.dll!Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.StartRoleInternal() 
    Microsoft.WindowsAzure.ServiceRuntime.dll!Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.StartRole() 
    Microsoft.WindowsAzure.ServiceRuntime.dll!Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.AnonymousMethod()   
    [External Code] 
    

    我正在访问的一个Web服务似乎已停止工作。最后,我发现,这与它无关!我在本地复制了这个错误,它就发生在我的代码中。为什么我看不到发生错误的代码,在什么情况下?虽然我不能确定,但我不记得代码已经更改,而且今天已经完成了。

    1 回复  |  直到 15 年前
        1
  •  2
  •   SLaks    15 年前

    只有在需要显示某些代码时,IntelliTrace才会显示源代码。

    您发布的堆栈跟踪中的所有代码都在.NET框架内,因此没有要显示的源代码。

    您可能可以从 .Net Framework Reference Source .

    这个异常和许多类似的异常是ASP.NET内部的,应该忽略。