小编Qui*_*iex的帖子

奇怪的console.memory导致Chrome,时间线内存开发工具中的负数,Chrome错误?

在运行了很长时间(一天或更长时间)后,我编写的基于Web的应用程序(JS/HTML5)开始表现"怪异".它主要停止向后端发送应该正常的数据,我希望它发送~500kb的数据,它开始发送几个字节的废话.我怀疑这是内存相关的(无法分配内存或其他东西?)当我调查时,我看到了一些真正奇怪且看似不可能的东西,这告诉我这是一个我可能通过高内存使用而遇到的Chrome错误.但我可以使用一些比我更了解的人的确认.

主要的奇怪似乎是console.memory吐出来的.链接文档说"usedJsHeapSize不能大于totalJsHeapSize",它非常非常.它也高于堆大小限制,我想它不应该是:

console.memory调用的结果

然后我试着看看devtools可能会告诉我什么,并在那个瞬间做了一段记忆时间线,持续几秒钟,并看看它说的内容......记忆范围从一些负面的疯狂大数到0B.这肯定是不对的.

内存使用时间表

我检查了chrome://内存报告,虽然它使用了大量内存,但与其他Chrome浏览器会话相比,我看起来并不奇怪.

铬://内存

任何人都可以确认这是一个Chrome错误与预期的开发工具行为我没有正确解释.

谢谢!

javascript memory google-chrome google-chrome-devtools

7
推荐指数
1
解决办法
1784
查看次数

如何在C#中使用TaskScheduler设置"仅在登录时运行"和"运行为"?

我有代码使用C#TaskManager对象来创建任务.在Windows 7上它工作正常,但在Windows XP(可能是其他Windows)上根本不起作用,因为该任务的默认用户是系统,因此没有用于显示GUI的会话.如果我在控制面板小部件中手动修改创建的任务,将作业设置为仅在用户登录时才运行,并且仅针对特定用户,则一切正常.但是,尽管进行了数小时的搜索,我看不到在C#对象中设置这些选项的选项.有人知道现有对象的解决方案吗?我不想重写所有内容来手动运行调度程序EXE并通过命令行传入内容.

Q

.net c# scheduler taskmanager

5
推荐指数
1
解决办法
4401
查看次数

如何在代码分析器中运行C#app与运行一个外部代码分析器有什么不同?

我试图理解代码分析器(在这种情况下是Drone Profiler)运行.NET应用程序与直接运行它的方式不同.我需要知道这个的原因是因为我的开发计算机的.NET安装有一个非常奇怪的问题/腐败,它在分析器之外表现出来但很奇怪不在里面,如果我能理解为什么我可以解决我的计算机问题.

这个问题似乎只会影响对System.Net.NetworkInformation方法的调用(并且只在.NET 3.5到2.0中,如果我构建一个针对4的东西,那么很好).我构建了一个小测试应用程序,它只做一件事,它调用System.Net.NetworkInformation.IsNetworkAvailable().在分析器之外,我在System.dll中发生了"致命执行引擎错误",这就是它提供的所有信息.据我所知,错误通常是由本机方法调用引起的,当System.dll允许某些本机DLL执行IsNetworkAvailable()逻辑时,可能会发生这种情况.

  • 我试图使用Process Monitor找出探查器差异的内部和外部,记录两种情况下的事件并进行比较.两个日志都是相同的,直到iphlpapi.dll和winnsi.dll被调用之后,在探测器运行代码dnsapi.dll和非探查器代码开始加载崩溃报告相关的东西之前.在那个似乎出错的时刻,探查器运行的代码创建了4-6个新线程,而非探查器(崩溃)代码只创建了1或2.我不知道这意味着什么,如果有的话.

可以说是不必要的背景

我的Windows 7包括.NET安装(3.5到2.0)工作正常,直到我的硬盘遭受了一些损坏,并且checkdisk开始发现坏簇.我将驱动器映像到一个新的驱动器,一切正常,除了.NET的这个问题.

我需要解决此问题重新安装Windows或还原到映像备份.

以下是我研究过的一些内容:

  • 我已经将看起来最相关的文件/目录(Windows和程序文件下的.NET内容)与磁盘之前和之后的问题区分开来,看不到任何我没想到的变化(没有明显的文件损坏).
  • 我已经将软件和系统注册表配置文件分成了磁盘前后的麻烦,并且没有看到任何相似的变化.
  • 我创建了一个新的用户帐户,并在环境相关的情况下清理了所有环境变量.没变.
  • 我做了"sfc/scannow",发现没有完整性问题.
  • 我尝试了"ngen update"来重新生成预编译的代码,以防我错过了可能被损坏且没有任何改变的东西.
  • 我删除了我的病毒扫描程序,看它是否干扰,没有区别.
  • 我尝试在安全模式下运行测试代码,同样的崩溃问题.

我假设我需要修复我的.NET安装但是因为Windows 7包含.NET 3.5 - 2.0,所以你不能只重新运行.NET安装程序来重做它.我无法访问Windows磁盘以尝试重新安装Windows(计算机有一个恢复分区,但它无法使用); 此外,该驱动器使用整盘加密解决方案,重新安装将很困难.

我绝对不想从头开始安装一个全新的Windows,重新安装几十个软件包,尝试并记住几十个与开发相关的自定义/等.

鉴于这一切......有没有人有任何有用的建议?我需要.NET 3.5 - 2.0,因为我是一名开发人员,需要构建和测试它.

谢谢!

Quinxy

.net c# profiler

5
推荐指数
1
解决办法
270
查看次数

程序(c#)运行升高,仍然无法访问某些文件

我的代码正在运行提升,但没有任何东西可以看到/执行c:\ windows\system32\rstrui.exe(系统还原点UI).

我仔细检查以确保代码确实正在运行提升(它是),并且我已经使用File.Exist()和Directory.GetFiles()以及System.Diagnostics.Process.Start()进行了测试; 找不到文件是返回的内容.

该程序确实存在,我可以真正运行它,我可以将路径复制/粘贴到DOS并列出,执行它(没有隐藏空格等).

有任何想法吗?

解决方案:

Tim(下面)给了我解决方案,而不是引用c:\ windows\system32引用c:\ windows\sysnative."sysnative"被重定向,或者,好吧,没有.我对x64重定向的东西仍然有点困惑.关键是,以下工作:

Environment.GetEnvironmentVariable("windir")+ @"\ sysnative"

谢谢蒂姆!

c# windows uac

3
推荐指数
1
解决办法
1321
查看次数