问题标签 [memory-dump]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
453 浏览

c#-4.0 - .Net 4 相当于 Java 的 Thread Dump

.Net4 是否有等效的线程转储。我们尝试使用 Microsoft 的 MSE,但这无法识别为 .Net4.0 编译的应用程序

0 投票
1 回答
1395 浏览

compact-framework - 内存转储 - Windows CE

我在使用 .NET/Windows CE 5.0 应用程序的客户端站点遇到问题。当然,我们无法复制问题,客户也不知道如何复制它。我有一些使用 SOS/WinDbg 在完整的 .NET Framework 上调试 .NET 问题的经验。我想知道是否有办法对 WinCE 5.0 进程进行内存转储,以便我可以尝试使用 WinDbg 进行调试。

0 投票
1 回答
264 浏览

.net - 从 .NET 进程内存转储中调查最大的对象(支配者)

我有一个 .NET 进程的内存转储,它是由 DebugDiag 在抛出的 System.OutOfMemoryException 上创建的。现在我试图找出哪些对象拥有比预期更多的内存。

可以用 windbg+sos 打开这个转储,执行简单的分析,如浅对象大小统计数据并调查特定对象,但这几乎没有给我任何帮助。我对最大的支配者、支配树、特定对象持有的保留内存等感兴趣。有什么工具可以做到这一点吗?

0 投票
1 回答
635 浏览

sql-server - Find all sql statements in a xaction which deadlocked from memory dump

Environment:
Sql server 2008 r2
Windows 7 64 bit
Windbg 64bit

What i already know

  1. I can find the sql stmts in this transactions by running a server-side profiler trace and stopping it as soon as there is a deadlock. And then searching for the transaction Id in the trace files. But this is a brute force method and cannot always be done on a production environment.

  2. I know i should send memory dump to microsoft and get then analyze it. But i want to find our if there is any hope to solve this without private symbols.

Problem:

I create a memory dump using extended events in sql server when 2 transactions deadlock ( lock_deadlock event).

I am manually creating this deadlock scenario via management studio. Lets say 1 of the deadlocked xaction has 2 sql statements in it.

Now i find this thread in my memory dump and i am able to find out only my sql stmt 2 i.e "update tabl2".

Is there anyway i can look up all the sql stmts that thread had executed in the xaction i.e. in our case "update tabl1.." ?
I want to know what the thread had executed before in the same transaction. Since this xaction is not committed yet at the time of the dump, the values should be somewhere in the thread memory.

Please let me know if i dont make sense here. I have been after this problem for a while and i want to know if this possible or not.

ADDITIONAL INFO

Background:
We have performance testing env, where we run 12 hour load tests. Next morning we analyze and find out a deadlock. Application executes 7-8 dml statements in a transaction ( we use hibernate ). Since sys.dm_exec_sql_text based will yield result only if its in the cache, we dont get the whole set of dml statements as we are analyzing it the next day (ps: i didnt even try this, when the problem was reported to me after 1 day)

How did we solve this problem today:
1. Setup server side trace
2. Setup event notification which triggers on deadlock and call a sp which stops the trace.
3. From extended event xml report or profiler, we find transaction id and look up the past statements corresponding to same.


How i thought i could solve this problem:
1. Trigger memory dump on extended event "lock_deadlock" with system id included.
2. Somehow try to find history in the thread corresponding to the system id.


Why memory dump:
Because this setup will cause least impact if i have to do it on production.

0 投票
3 回答
13604 浏览

java - 从 Java 中运行程序或转储中获取死锁检测

我有一个正在运行的 java 软件被卡住了。我想看看里面,但不知道怎么做。

是否有一些工具可以提供 PID,它会告诉我每个线程当前所在的位置以及变量的一些值?我正在运行Linux。

我或多或少知道是什么导致了问题,但仍有一些可能的情况,因此确定它会很好。

我无法重现错误,因为它每隔几天出现一次,并且在调试时从未出现过,所以这是一个独特的认识敌人的变化。

有任何想法吗?

0 投票
3 回答
9689 浏览

java - 如何从命令行查看内存使用情况、java 程序的线程转储?

是否有任何已知的命令行工具要求 JVM 查看 Java 程序的内存使用情况和线程转储。像无头 jvisualvm 之类的东西?

0 投票
1 回答
6558 浏览

asp.net - 为 IIS ASP.Net 启用 Windows Server 2008 故障转储

我有一个 ASP.Net 应用程序,它偶尔会崩溃并导致工作进程重新加载。系统在 Windows Server 2008 R2 64 位 SP1 上的 IIS 7.5 上运行。

我在应用程序事件日志中收到一个应用程序错误事件,然后是一个 Windows 错误报告事件日志。

Windows 错误报告事件日志将我指向一个目录:

C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_w3wp.exe_624e5315e1074e44338812efe102157b47f6ca8_053f0ff3

浏览网页表明我应该能够在此目录中找到内存转储,但是,我只有一个文件“Report.wer”。

我的想法是,我需要修改一些注册表设置,以便在再次发生这种情况时获得故障转储,尽管我似乎找不到需要更改的设置。

当前注册表设置如下

有人可以让我知道我可能需要更改/添加哪些设置,以便在下次工作进程崩溃时获得内存转储。

0 投票
1 回答
2048 浏览

windows-server-2008-r2 - Windows Server 2008 过去系统崩溃?

只是想知道是否有人知道 Windows Server 2008 上 .mdmp/.hdmp 文件的默认位置,或者是检查系统上哪些应用程序过去崩溃的快速方法?

0 投票
2 回答
2310 浏览

asp.net - 将 IIS 从经典模式切换到集成模式时锁定和高 CPU

在 IIS 6 中,我们曾经使用两个第三方组件进行 Url Rewriting:Helicon(用于处理无扩展 url)和 UrlRewriting.net。前段时间我们迁移到 IIS 7 - 经典模式,仍然使用这两个组件。

现在我们正在尝试通过使用本机 .Net 路由切换到没有第三方组件的集成模式。路由工作正常,但我们的 Web 应用程序的行为完全不同。我们的网络服务器过去常常保持低于 10% 的 CPU 使用率,但现在很容易使用 50% 甚至更多。

我们已经开始分析内存转储,但似乎还没有找到问题的根源。.Net 缓存机制似乎阻塞了垃圾收集器?这与使用“集成模式”有什么关系?

您将在下面找到我们分析的摘录。任何关于下一步看哪里的建议将不胜感激。

0 投票
1 回答
967 浏览

c# - 通过高级语言访问物理内存,例如

我正在研究通过高级编程语言(例如 C#)执行 Windows 7 机器的内存 (RAM) 转储的最佳方法。我已经对此进行了大量研究,我将在下面进行总结。

•Microsoft API 对内存的访问似乎在一段时间前被切断了 (\Device\PhysicalMemory)

•<em>现在看来,要访问内存,您的代码必须在内核模式下执行,而不是在用户模式下才能让您访问内存

•<em>我研究了系统挂起时 Windows 转储的内存(小、大和内核转储),这种方法不适合我的要求

我想知道是否有人对我应该如何访问机器的物理内存有很好的了解。由于我习惯于编写窗口应用程序,因此我对低级编码语言的了解很少。到目前为止,我收到的建议包括编写一个驱动程序来访问内存,然后通过更高级别的编程语言调用它。

任何社区可以提供的任何帮助都将不胜感激!提前致谢。