我使用 HockeyApp 为我的应用收集崩溃数据,但出于某种原因,它并没有提供堆栈跟踪。
我所拥有的是这样的:
MyNamespace!<BaseAddress>+0x5d1287
MyNamespace!<BaseAddress>+0x5f18d5
MyNamespace!<BaseAddress>+0x5f1827
Microsoft.HockeyApp.Extensibility.Windows.UnhandledExceptionTelemetryModule.CoreApplication_UnhandledErrorDetected(Object sender, ApplicationModel.Core.UnhandledErrorDetectedEventArgs e)
所以很难找出发生了什么。
异常消息很有用,正如它所说的
找不到元素。无法在Vault中找到凭据
并且只有一个地方我使用PasswordVault
。
这里的问题是我在try / catch块中使用它,所以我真的不明白为什么我收到此报告,我甚至无法复制它
这是完整的PasswordVaultService
课程,因此您可以准确了解我正在做的事情。
public class PasswordVaultService
{
private static readonly PasswordVault Vault = new PasswordVault();
public static string RetrieveSecret(Entry entry)
{
try
{
var results = Vault.FindAllByResource(entry.Name);
if (results.Count == 0) return null;
var result = results[0];
result.RetrievePassword();
return result.Password;
}
catch (Exception)
{
return null;
}
}
public static void StoreSecret(Entry entry, string secret)
{
Vault.Add(new PasswordCredential(entry.Name, entry.Name, secret));
}
public static void DeleteSecret(Entry entry)
{
var results = Vault.FindAllByResource(entry.Name);
if (results.Count == 0) return;
var result = results[0];
Vault.Remove(result);
}
}
我已经有一段时间没有收到此错误了,而且我不明白发生了什么,因为课程非常简单。在发布之前,我甚至在项目中搜索了 Vault ,这是我唯一使用PasswordVault
的地方。