草庐IT

windows - !heap -s 在 windbg 中不显示不断增长的堆

我写了一个内存泄漏的应用程序-我过去做过以下事情找到泄漏的堆!heap-s检查堆!heap-stat-h查看分配的调用堆栈!heap-p-a为了获取调用堆栈,我将+ust添加到gflags虽然我过去在这方面取得了巨大成功,但!heap-s今天没有显示出任何增长吗?我不知道怎么了?就好像我的分配在堆中,对!heap-s是隐藏的?想法?我正在使用VisualStudio2010pro进行编译(x86和x64)。使用windbg调试 最佳答案 妙语——当分配小于1MB(默认)时,它们转到HeapAlloc(),当它们大于1MB时,它们转到

c++ - 视觉 C++ : possible to limit heap size?

我正在调试的应用程序有问题。稳态内存使用量为几百兆字节。有时(几个小时后)它会进入内存使用量飙升至数GB的状态。我希望能够在发生这种情况时立即停止程序。在控制通过我自己的代码的地方,我可以用这样的代码来捕获过多的内存使用:boolusingTooMuchMemory(){PROCESS_MEMORY_COUNTERSpmc;if(GetProcessMemoryInfo(GetCurrentProcess(),&pmc,sizeofpmc))returnpmc.WorkingSetSize>0x80000000u;//2GBworkingsetreturnfalse;}这对我没有帮助,

c# - UWP 应用 : Process Memory Usage vs Heap Usage

我正在尝试在VisualStudio中分析我的UWP(通用Windows平台)应用程序,以查看导致我的进程内存使用率如此之高的原因。我一直在使用VisualStudio的内置诊断工具,但一直没有成功。它显示我的进程内存使用量为93兆字节,而堆显示为12.17MB,托管堆显示为1.56MB。在另一个实例中,我的进程内存使用率上升到大约458MB并且还在不断攀升,但是当我拍摄快照时,它没有告诉我应该导致它的任何对象的值,它声称使用的实际内存比进程内存少得多。我不确定我是否只是不了解探查器的工作原理,或者我只是在做一些完全错误的事情。 最佳答案

java - 如何在 Windows 下的 Java 服务中添加时间戳 GC 日志文件名?

我有一个在Windows下针对ApacheTomcat运行的Java应用程序。有两种运行此应用程序的方法-作为Windows服务,或从批处理文件手动调用Tomcat。当我通过批处理文件启动应用程序时,我使用以下内容将GC日志添加到JVM参数中:-Xloggc=%~dp0..\logs\gc-%DATE:~-4%.%DATE:~4,2%.%DATE:~7,2%_%TIME:~0,2%.%TIME:~3,2%.%TIME:~6,2%.log这会导致GC日志在文件名中输出日期-但当作为服务运行时,DATE和TIME变量无法正确解析。使用Windows服务时,我必须在我的JVM参数中使用哪些变

Windows 8 : Doing heap analysis on 32 bit application running through WOW64

首先,这不是关于如何进行堆分析的一般性问题,因为我在早期版本的Windows中对此非常熟悉。但我想知道的是,是否有人成功地对在64位Windows8上通过WOW64层运行的32位应用程序执行堆分析,Windows8是这里的关键词?运行Windows7和Windows调试工具我通常对WOW64层本身不感兴趣)。堆信息完美显示。在Windows8上,执行相同的过程,添加gflags并启动我的进程,启动后内存使用量从40MB增加到140MB,表明gflags已经启动。但是,无论我如何尝试,WinDbg或umdh都无法获取任何堆信息。在通过WOW64运行时,通过运行x64版本并将.effmac

windows - GFlags 设置以捕获堆损坏(Page Heap 除外)?

在一个生产站点上,我们的应用程序(*)反复崩溃,但无法重现。分析崩溃转储清楚地表明它是堆损坏:崩溃发生在不同的位置,但始终在kernel32!HeapFree/ntdll!RtlpLowFragHeapFree内访问冲突。WinDbg!analyze-v也报告堆损坏。到目前为止我们尝试的是使用GFlags运行应用程序选项PageHeap.问题是页面堆的内存开销使得应用程序将不再运行(达到32位进程的虚拟内存限制)。所以,我们不能使用页面堆。还有哪个flags添加将很有用,这样我们要么在腐败现场撞车或者至少可以从我们在HeapFree中崩溃时最终生成的故障转储中获取更多信息?我们目前正在

java - SQL Developer 在 MySQL 数据库上因 GC 开销限制超过错误而卡住

我正在尝试将OracleSQLDeveloper与MySQL数据库结合使用。我可以很好地连接并且可以执行查询,我可以看到表格,并且选择了一个表格后我可以很好地单击除“数据”选项卡之外的所有选项卡。当我单击“数据”选项卡时,我收到一条消息“等待编辑器初始化”并且SQLDeveloper卡住。几分钟后,我收到带有以下堆栈的消息“超出GC开销限制”java.lang.OutOfMemoryError:GCoverheadlimitexceededatcom.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:2114)atcom.mysql.jdbc.My

java - 为什么我的 mysql 服务器上不断出现 Converting HEAP to MyISAM

我们的MySQL服务器间歇性地遇到了一些问题。它一直同时抛出很多这样的查询(因此将它们堆叠在我的进程列表中)。我们通过Glassfishv3为Grails应用程序使用MyISAM数据库和连接池。db_usermyhost:35143数据库查询39convertingHEAPtoMyISAM/*mysql-connector-java-5.1.7(Revision:)*/SHOWVARIABLESWHEREVariable_name='language'ORVariable_name='net_write_timeout'ORVariable_name='interactive_time

iOS 错误 : Heap corruption detected, free list is damaged and Incorrect guard value: 0

GFF_MJ(3248,0x103f9ab80)malloc:Heapcorruptiondetected,freelistisdamagedat0x28298ffa0***Incorrectguardvalue:0GFF_MJ(3248,0x103f9ab80)malloc:***setabreakpointinmalloc_error_breaktodebug错误截图:运行一段时间后,应用程序总是崩溃,但除了上述提示外,我不会得到任何信息。现在不知道怎么解决,谁能帮帮我?谢谢。 最佳答案 这些错误一点都不有趣。最有可能的是,您在

ios - @synthesize of 'weak' 属性只允许在 ARC 或 GC 模式下第一次编译 urbanship

基本上,我有一个运行正常的IOS应用程序。同时按照http://docs.urbanairship.com/build/ios.html#ios-push-getting-started中的说明进行操作,我到达了“RegisterYourDevice”部分,要求我进行编译。尝试在xCode5中构建代码后,我收到以下错误“@implementationUAPushSettingsAddTagViewController@synthesizeof'weak'propertyisonlyallowedinARCorGCmode”。注意:ARC模式未使用。 最佳答案