dotmemory快照崩溃应用程序

时间:2017-04-28 11:55:19

标签: prism prism-6 dotmemory

Resharper Ultimate:2016.3.2 DotMemory:2016.3.2 Visual Studio 2017 Windows 7的 棱镜6.3.0 Ninject

这有点奇怪,所以我不确定如何描述它,但我会试一试。

最初,我设置了页面以注册其区域,因此我的所有页面都声明如下

_kernel.Bind<IPageView, PageView>().To<PageView>();

然后将它们绑定到该区域。

_regionManager.RegisterViewWithRegion(RegionNames.ContentRegion, typeof(PageView));

在更新内容时,我决定不是没有绑定页面的麻烦,而是将它们注册到区域,我转而使用RequestNavigate,因此我删除了使用区域注册视图,并更改了绑定到

_kernel.RegisterTypeForNavigation<PageView>( PageNames.MyPage);

在调试模式下,这一切都完美无缺。然而,这是事情变得奇怪的地方。我运行dotmemory进行一些泄漏测试,发现如果我在进入某些页面之前拍摄了快照,那么该软件就会崩溃。如果我没有拍摄快照,或者我在进入页面后拍了快照,那么什么都不会崩溃。

另外,如果我添加

_kernel.get<PageView>();

绑定页面后,我也没有问题。 (所以现在这是我可怕的临时修复)

我只是想知道是否有人知道为什么会发生这种情况。我提出的唯一两个结论是

a)RequestNavigate没有正确解析ninject。 b)以某种方式从dotmemory获取快照是清除任何尚未从内核解析的内容。

我没有期待太多,但如果有任何想法可能会导致这一点,那么它会有所帮助。

0 个答案:

没有答案