在app close Visual Studio 2013中显示哪些对象是活的
Show which objects are alive at app close Visual Studio 2013
是否有办法使visual studio 2013显示哪些对象是活的,当我在调试模式下关闭应用程序?在对象转储开始之前,以可读格式(不是内存地址,而是对象名称)。问题是我有一个大项目,我没有写析构函数(我告诉自己以后再写),现在是以后的事了,我不知怎么地无法判断哪些对象需要正确地销毁。当我关闭应用程序时,我所拥有的只是许多活动对象。因此,如果有一种方法可以显示活动对象的名称(或更好的类型),那将非常有帮助。
PS:我很抱歉,如果这样的东西已经在这里,但我找不到任何东西。
PSS:我知道不写析构函数是不好的做法…从现在开始我会马上写
我不知道这样的功能,但恕我冒昧,你不需要它:
-
即使你知道那些活动对象,你也不能确定父对象和析构函数,这些活动对象应该在哪里被销毁
-
销毁活动对象在应用程序关闭时不是那么重要,因为操作系统会自动清除所有活动对象(尽管,这并不总是合适的)。
所以我认为最好开始为所有具有构造函数或动态分配资源的对象编写析构函数。每个析构函数都将改进你已经在工作的应用。
对象生命周期视图
-
对象生命周期视图在Performance Session属性页上检查Also collect . net对象生命周期数据时可用。
-
. net框架的垃圾收集器管理应用程序的内存分配和释放。为了优化垃圾收集器的性能,托管堆分为三代:0、1和2。运行时的垃圾收集器将新对象存储在第0代中。
在收集中幸存的对象被提升并存储在第1代和第2代中。 垃圾收集器通过释放一整代对象来回收内存。对于由概要应用程序创建的对象,对象生命周期视图显示对象的数量和大小以及回收它们的生成。
实例数据表示在运行分析时创建的该类型对象的数量,以及垃圾收集器释放这些对象的生成时间。
您可以查看直到剖析运行结束才被释放的实例。
来源:https://msdn.microsoft.com/en-us/library/ms242731(v=vs.120).aspx
- 对象初始化后在C++中显示 char 数组时的异常行为
- 为什么静态数组成员变量在调用对象的实例后不显示任何内容?
- 使用 CIN COUT 显示垃圾值的文件对象?
- IM 试图显示对象数组,但它给出了错误的输出
- 对象错误地显示为引用?
- C++ 矢量不显示包含对象的数据
- C++ csv 文件无法正确加载到矢量,它似乎知道对象在那里但不显示它们
- 如何在屏幕上显示对象列表?
- 为什么谷歌测试/模拟显示 std::unique_ptr 泄露的模拟对象错误?
- 是否有一个函数可以显示我创建的类中的对象到 QTextBrowser 中?
- 在同一屏幕上显示两个不同的对象
- 为什么析构函数和复制构造函数使用对象数组显示此行为
- 使用OpenGL显示两个对象.纹理不像预期的那样行为
- 如何以某种格式为用户显示对象向量
- 使用 main() 以外的其他函数显示类的对象,但在 main() 中调用;
- 如何使 UI 对象仅在单击按钮后显示在对话框中
- 当从此到子类中的新对象时,将显示警告"destination for this 'memcpy' call is a pointer to dynamic class..."
- 在 opengl 中应用转换函数后未显示对象
- Mac上的选定对象显示背景高亮显示,而不是边框高亮显示
- 如何在c++中使用单链表对象显示和添加数据