我有一个向Raygun报告崩溃的Xamarin.Android应用程序。从Release版本报告给Raygun的堆栈跟踪不包括行号。如果我为Release构建配置提供与.csproj文件中的Debug配置相同的设置:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>True</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
...
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
那么我仍然看不到发送给Raygun的堆栈跟踪中的行号。但是,如果我在运行带有附加的Visual Studio调试器的应用程序时,则发送到Raygun的堆栈跟踪信息确实包含行号。请注意,无论如何,所有堆栈跟踪都包括类和方法的名称。这个问题只与行号有关。
如果引发异常时附加了调试器,为什么堆栈跟踪仅包含行号?更重要的是,如何在没有附加调试器的情况下,在Release版本的报告堆栈跟踪中获取行号?