可以使用System.Diagnostics.StackTrace获取堆栈跟踪,但必须暂停线程.暂停和恢复功能已经过时,所以我希望存在更好的方法.
.net debugging multithreading stack-trace visual-studio-debugging
可能重复:
Python内存分析器
我有一个相当复杂(大约20,000)的Python系列程序,经过一些开发后,它在运行时开始消耗越来越多的内存.找出所有内存使用的最佳工具和技术是什么?
通常这归结为意外地保持对对象的引用,或扩展模块错误(这不是特别可能,因为我们已经使用Python 2.4安装一段时间).
我们使用各种第三方库,如Twisted,Twisted Conch和MySQLdb.
任何人都可以为gbd推荐一个好的备忘单吗?我对windbg命令很有经验,我正在为lml(列表加载模块),〜*k(所有线程堆栈),ba(访问中断),dt(转储类型),dv(转储帧变量)寻找gdb等价物),sxe(设置SEH处理程序)等我知道不会有1比1的等价物,但我只需要大多数使用/有用的命令的简要总结.
我无法通过更改系统设置来创建我的流程的minidump.所以我的问题是:
当系统崩溃时,系统是否会为用户进程创建一个minidump
如果是,我需要配置哪个设置
或者我必须以编程方式创建minidump.
在调查崩溃时小型泵的效果如何
我使用的是Windows XP,C++,VC6
我正在使用一个庞大,陈旧,凌乱,臃肿的框架.它经常在子程序调用中超过100级.Perl调试器认为适合停止并一遍又一遍地通知我这个事实.
Package::Stash::name(/usr/local/perl/5.10.1/lib/site_perl/5.10.1/Package/Stash.pm:21):
21: return $_[0]->{package};
100 levels deep in subroutine calls!
DB<1>
Run Code Online (Sandbox Code Playgroud)
如何让Perl调试器不关心堆栈有多大?
谢谢.
(xkcd)
我知道现在的编译速度比以前快得多.然而,对我来说,使用Visual Studio Web开发服务器编译,尤其是运行/调试ASP.NET项目似乎非常慢.
从去年夏天开始,我一直在努力研究ASP.NET MVC项目.当然,调试它们的最佳方法是使用Visual Studio附带的Web服务器.这样做时,加载时间非常慢.Chrome开发工具通常会报告加载我的一个页面有3 分钟的等待时间,然后加载时间很短.
我见过这 两个问题,但是没有用.虽然我在Chrome中进行了大部分调试工作,但在IE中也是如此.
以前有其他人有这个问题吗?如果是这样,任何提示?
另外,我怀疑问题在于机器的速度.这台计算机运行的Windows 7和Visual Studio 2010非常快,所以我不明白为什么ASP.NET调试应该这么慢.
更新:在下面的回答中,Jon Skeet建议尝试确定问题是由环境还是由代码本身引起的.我创建了一个全新的MVC项目并运行它.第一次测试似乎要快得多.然而,经过几次测试之后,可以肯定地说第一次测试是异常的 - 通常,它需要我的大项目(2 - 3分钟).因此,这是环境问题.在此先感谢您的帮助!
更新#2:我更新了这个问题已经有一段时间了.以下是自上次更新以来我收集的一些细节:
我还没有找到解决这个问题的方法,所以我一直在等待很长时间.有谁知道如何解决这个问题?
Debug.Print和之间有什么区别Debug.WriteLine?MSDN中两者的摘要是相同的:
将一个消息后跟一个行终止符写入Listeners集合中的跟踪侦听器.
Debug.WriteLine有更多的重载.我看不出有什么理由Debug.Print会被用来代替Debug.WriteLine?
有没有人知道这是否可能?节点检查器的大部分示例似乎都适合调试调用的网页.我希望能够调试jasmine-node测试.
我有一个看起来像这样的断点
-[UITableViewCell setSelected:]
Run Code Online (Sandbox Code Playgroud)
它工作,但我无法弄清楚如何获得传递的值.
我曾尝试-[UITableViewCell setSelected:(BOOL)what]和-[UITableViewCell setSelected:what]不工作在所有.
如何访问参数?
如果这不起作用,我将不得不做一个DebugUITableViewCell公正的事情,看看发生了什么,这是一个麻烦,触及了很多代码.
我正在尝试在我的角度应用程序中调试相当复杂的模块.我在一个特定方法的开头设置了一个断点,希望我可以跟进它,看看它给了我一个错误.但是,它一直让我进入VM脚本(VM28337,VM30559等).我可以假设这些都是应有的,所以我没有兴趣看到它们.
我知道我可以在chrome调试器中对某些脚本进行blackbox,但似乎有无数的这些VM脚本.有没有人对如何绕过这些脚本有任何建议?
debugging ×10
c# ×2
xcode ×2
.net ×1
angularjs ×1
asp.net ×1
asp.net-mvc ×1
c++ ×1
gdb ×1
jasmine ×1
lldb ×1
memory-leaks ×1
minidump ×1
node.js ×1
objective-c ×1
perl ×1
python ×1
stack-trace ×1
twisted ×1
windows ×1