草庐IT

分析器

全部标签

c++ - 内存转储分析(应用挂起)

我正在尝试分析在我的应用程序发生挂起后从我的一位最终用户那里收到的内存转储。它似乎与我的应用程序的音频播放部分有关。我相信涉及两个线程,即将开始播放声音的主线程,以及一个更新程序线程,它迭代链表中的声音以不断更新它们的状态。但是,我不明白挂起的来源是什么。我的WinDbg知识有限,但我设法弄清楚挂起似乎发生在音频库的SetLoop方法中(具体在静态声音代码中)。我使用DirectSound,在这种情况下应用程序在Windows732位上运行(我自己在XP上开发,我从来没有遇到过这样的问题)。静态声音类在检查声音是否正在播放之前锁定关键部分,如果不是,则将循环标志设置为true或fals

c++ - 查找可能是由于线程锁定(可能)引起的性能问题

我花了一些时间运行valgrind/callgrind来分析一个使用许多线程进行大量TCP/IP通信的服务器。在提高性能一段时间后,我意识到在这个特定的测试场景中,进程不受CPU限制,所以我看到的性能“改进”没有用。理论上CPU应该很忙。我知道它连接的TCP/IP设备不是限制,因为服务器在两台机器上运行。一个是PC,另一个是带有Arm处理器的嵌入式设备。即使是嵌入式设备也只有大约2%的CPU使用率,但它执行的事务要少得多——大约十分之一。尽管我们试图尽快获取数据,但两个系统最多只能获取大约2%。我的猜测是某个互斥锁被锁定并占用了一个线程。这是一个纯粹的猜测!系统中有几个线程具有公共(p

c++ - 分析 COM 对象中内存泄漏的工具

如果有分析c++COM对象内存泄漏的工具,请在这里提供链接如果不存在这样的工具,那么处理内存泄漏的最佳方法是什么?谢谢 最佳答案 有一个工具“valgrind”。它是最好的内存泄漏检查器之一,但我不确定它是否适用于Windows...试试吧 关于c++-分析COM对象中内存泄漏的工具,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2703561/

windows - 缓慢的Windows移动应用程序

我有一个显示来自sqlserverce的信息的Windows移动应用程序。通常需要大约6秒来加载6行的网格。最近我意识到,如果我使用查询分析器工具在移动设备上打开数据库,然后运行我的应用程序,一切都会快5倍,然后我关闭查询分析器并继续使用该应用程序,一切都会变慢。有人知道为什么会这样吗?我如何在不要求用户先打开查询分析器工具的情况下获得这种性能? 最佳答案 在应用程序启动时打开一个数据库连接,并在应用程序的整个生命周期内保持打开状态。(不要将此连接对象用于任何事情) 关于windows-

c++ - 使用 Win7/64 分析在 XP/32 机器上生成的 Windows 崩溃转储?

我们在分析在我们开发机器上的客户WindowsXP/32机器上创建的Windows故障转储时遇到了问题。我们的许多开发机器现在都是Win7/64机器,但在WindowsXP下生成的故障转储似乎无法完全解析它们的二进制依赖性,从而导致在VisualStudio(2005)中显示调用堆栈时出现警告。例如,在WindowsXP上生成转储时,从Win7机器加载时无法解析msvcr80.dll:在XP上,WinSxS路径似乎是C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989

全面易懂的分析现有L2环境

全面易懂的分析现有L2环境介绍区块链领域中最具争议的话题之一无疑是可扩展性。更具体地说,扩展以太坊已经被证明是一个具有挑战性但必要的操作;随着其日益流行,要求将交易包含在区块中的请求增加,从而导致交易成本增加。以太坊主网以每秒处理约15笔交易,所以似乎有必要提高吞吐量。为了减轻以太坊节点的负担,出现了许多限制主网所需处理或存储量的解决方案,每个解决方案都有自己的优点和缺点。为了提高以太坊网络在其实际单链配置中的速度,现在正在使用多种可替代的扩展策略;它们都旨在从以太坊主区块链上卸载交易处理以提高可扩展性,但它们确实这以各种不同的方式。值得注意的是,这些扩展技术并不仅限于以太坊,也可能用于其他网

c++ - 我可以使用什么工具来分析内存使用情况?

关闭。这个问题不满足StackOverflowguidelines.它目前不接受答案。想改善这个问题吗?更新问题,使其成为on-topic对于堆栈溢出。7年前关闭。Improvethisquestion我有一个使用C++使用VisualStudio2008编写的Windows应用程序。我想获取有关内存使用情况的统计信息,以找到处理内存使用情况的瓶颈和位置。理想情况下,我希望有一个工具可以做到这一点,而无需进入并向代码本身添加计数器/分析逻辑。基本上我正在寻找的是:所有分配的列表(释放与否无关紧要,每次分配时我都想知道)每次分配的调用堆栈和一个计数器,表示调用代码和分配内存的次数。有关已

c++ - 有什么方法可以分析缓存行为的代码?

正如标题所说,我想以某种方式获得我的代码的缓存行为。我正在运行Windows764位版本,在VisualStudio2008专业版上编译,编译C++代码。我知道Linux下有Valgrind,但是有没有我可以使用的免费替代品,或者其他方法? 最佳答案 VTune将为您提供非常详细的缓存和管道分析。虽然它并不便宜。我相信VS的某个级别/版本(我记得它是XP上的“团队版”)有一个不错的分析器。 关于c++-有什么方法可以分析缓存行为的代码?,我们在StackOverflow上找到一个类似的问

c++ - windows C++ opening printer with documentproperties get C6836 "Write Overrun"代码分析警告

在下面的代码中://IfGetPrinterdidn'tfillintheDEVMODE,trytogetitbycalling//DocumentProperties...if(pi2->pDevMode==NULL){dwNeeded=DocumentProperties(NULL,hPrinter,printerName,NULL,NULL,0);if(dwNeededpDevMode=pDevMode;}在线lFlag=DocumentProperties(NULL,hPrinter,printerName,pDevMode,NULL,DM_OUT_BUFFER);当我运行Vi

“三箭齐发”,诸葛智能三大产品全新升级,助力企业迈向数字化经营 | 爱分析调研

 调研:文鸿伟撰写:文鸿伟诸葛智能,是容联云旗下敏捷开放的场景化数据智能服务商,累积服务全国1000+企业,覆盖泛互联网、泛电商、金融、汽车、产业科技、企服等数十个垂直领域。自2015年成立至今,诸葛智能见证并深度参与到中国企业从线下到全渠道、从消费互联网到数字化转型再到如今的产业互联网持续深入的发展历程中。疫情三年,使得企业业务及管理加速数字化,而“乙类乙管”后,面对消费复苏,各行业企业都面临业务快速回涨的过程,企业更加需要对用户进行全域数字化运营以提升经营效率,这对于企业在全域数据、业务及用户洞察分析、智能化营销等方面的能力产生了诸多新的挑战。基于此,2023年3月22日,诸葛智能举办了以