当复选框控件的 Visible 变为 true 时 comctl32.dll 使用过多内存

2024-01-24

我在 C# .NET 应用程序运行时向 Windows 窗体添加控件。这些控件中的每一个都与特定信号交互,并使用该信号中的一些数据——信号名称、描述、来源、单位、值等。

这些控件上有一个复选框。当其中一个信号的复选框的 Visible 属性变为 true 时,我的应用程序的提交内存就会跃升至 800MB 以上。其他数百个信号都没有问题。

我使用 DebugDiag 工具了解到 comctl32.dll 正在分配 805.45 MB。尤其:

  • 函数 comctl32_72380000!CCHeapAllocArraySize+3a
  • 分配类型 堆分配
  • 堆句柄0xf37893cd
  • 分配计数 1 个分配
  • 分配大小 803.20 MB
  • 泄漏概率 16%

接下来的故障排除步骤应该是什么?什么工具可以提供帮助?

Update:我将问题跟踪到父控件上的 System.Windows.Forms.TrackBar。轨迹条最大超过2亿。当我将最大值减少到 100,000,000 时,它使用了大约一半的内存。将最大值设置为 1,000,000 左右可以使用更合理的内存量。


我将问题跟踪到父控件上的 System.Windows.Forms.TrackBar。轨迹条最大超过2亿。当我将最大值减少到 100,000,000 时,它使用了大约一半的内存。将最大值设置为 1,000,000 左右可以使用更合理的内存量。

复选框。可见让我很失望。似乎应用程序在 checkbox.Visible 变为 true 时正在为其创建控件和内存,但复选框本身与问题无关。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当复选框控件的 Visible 变为 true 时 comctl32.dll 使用过多内存 的相关文章

  • “gld/st_throughput”和“dram_read/write_throughput”指标之间有什么区别?

    在 CUDA 可视化分析器版本 5 中 我知道 gld st requested throughput 是应用程序请求的内存吞吐量 然而 当我试图找到硬件的实际吞吐量时 我很困惑 因为有两对似乎合格的指标 它们是 gld st throug
  • 如何填充 ToolStripComboBox?

    我发现它很难将数据绑定到ToolStripComboBox 好像没有这个ValueMember and DisplayMember特性 怎么绑定呢 访问toolstripcombobox中包装的组合框并访问其ValueMember Disp
  • 函数参数的默认参数是否被视为该参数的初始值设定项?

    假设我有这样的函数声明 static const int R 0 static const int I 0 void f const int r R void g int i I 根据 dcl fct default 1 如果在参数声明中指
  • 从同一个类中的另一个构造函数调用构造函数

    我有一个带有两个构造函数的类 C 这是代码片段 public class FooBar public FooBar string s constructor 1 some functionality public FooBar int i
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • unordered_map 中字符串的 C++ 哈希函数

    看起来 C 标准库中没有字符串的哈希函数 这是真的 在任何 c 编译器上使用字符串作为 unordered map 中的键的工作示例是什么 C STL提供模板专业化 http en cppreference com w cpp string
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 使用valgrind进行GDB远程调试

    如果我使用远程调试gdb我连接到gdbserver using target remote host 2345 如果我使用 valgrind 和 gdb 调试内存错误 以中断无效内存访问 我会使用 target remote vgdb 启动
  • 为什么从字典中获取时会得到 Action<> 的克隆?

    我有以下字典 private Dictionary
  • 检测到严重错误 c0000374 - C++ dll 将已分配内存的指针返回到 C#

    我有一个 c dll 它为我的主 c 应用程序提供一些功能 在这里 我尝试读取一个文件 将其加载到内存 然后返回一些信息 例如加载数据的指针和内存块的计数到 c Dll 成功将文件读取到内存 但在返回主应用程序时 程序由于堆损坏而崩溃 检测
  • WPF DataGridTemplateColumn 组合框更新所有行

    我有这个 XAML 它从 ItemSource 是枚举的组合框中选择一个值 我使用的教程是 http www c sharpcorner com uploadfile dpatra combobox in datagrid in wpf h
  • 在屏幕上获取字符

    我浏览了 NCurses 函数列表 似乎找不到返回已打印在屏幕上的字符的函数 每个字符单元格中存储的字符是否有可访问的值 如果没有的话Windows终端有类似的功能吗 我想用它来替换屏幕上某个值的所有字符 例如 所有a s 具有不同的特征
  • DataTable.GetChanges() 不断返回 NULL

    我正在尝试获取存在于的所有行allData但不在removeData public static DataTable RemoveDuplicateRows DataTable allData DataTable removeData re
  • 打印大型 WPF 用户控件

    我有一个巨大的数据 我想使用 WPF 打印 我发现WPF提供了一个PrintDialog PrintVisual用于打印派生的任何 WPF 控件的方法Visual class PrintVisual只会打印一页 因此我需要缩放控件以适合页面
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • 我可以在“字节数”设置为零的情况下调用 memcpy() 和 memmove() 吗?

    当我实际上没有什么可以移动 复制的时候 我是否需要处理这些情况memmove memcpy 作为边缘情况 int numberOfBytes if numberOfBytes 0 memmove dest source numberOfBy
  • 是否可以在不连接数据库的情况下检索 MetadataWorkspace?

    我正在编写一个需要遍历实体框架的测试库MetadataWorkspace对于给定的DbContext类型 但是 由于这是一个测试库 我宁愿不连接到数据库 它引入了测试环境中可能无法使用的依赖项 当我尝试获取参考时MetadataWorksp
  • 如何将十六进制字符串转换为无符号长整型?

    我有以下十六进制值 CString str str T FFF000 如何将其转换为unsigned long 您可以使用strtol作用于常规 C 字符串的函数 它使用指定的基数将字符串转换为 long long l strtol str
  • 不区分大小写的字符串比较 C++ [重复]

    这个问题在这里已经有答案了 我知道有一些方法可以进行忽略大小写的比较 其中涉及遍历字符串或一个good one https stackoverflow com questions 11635 case insensitive string

随机推荐

  • 如何生成杠杆统计数据?

    我知道如何使用 leverPlot 生成图 但我找不到一种方法来为每个观察生成杠杆统计数据 就像 megastat 输出中一样 我认为您正在寻找帽子的价值 Use hatvalues fit 经验法则是检查任何比平均帽子值大 2 3 倍的观
  • Spring Data - 覆盖某些存储库的默认方法

    我只是盯着spring data and spring data rest我真的很想利用这些工具所提供的功能 在大多数情况下 基本功能非常适合我的用例 但在某些情况下 我需要对底层功能进行大量自定义 并有选择地分配一些存储库来继承我所追求的
  • 如何在Linux中使用RAW套接字发送802.11管理帧和数据帧

    我正在尝试构建一个应用程序 该应用程序将使用原始套接字从用户空间一起发送 802 11 管理帧和数据帧 我能够使用 sendto 函数发送数据帧 但我还需要发送管理帧 这让我陷入困境 有什么可能的方法吗 为了从无线接口发送管理 数据或任何类
  • 在初始化之前无法调用砌体上的方法;试图呼叫“摧毁”

    所以我尝试结合 jQuery Masonry 插件 来自 http masonry desandro com http masonry desandro com 使用 Modernizr 在低分辨率下消除砖石结构 以便我的 div 恢复到居
  • 更新到 android 8.0 oreo 后 install_failed_no_matching_abis 无法提取本机库 res=-113

    我的应用程序有问题 我使用三星 s8 我的应用程序运行良好 直到我更新到 android oreo 我卸载了我的应用程序并尝试再次运行 但出现错误 install failed no matching abis failed to extr
  • NPM 在 Windows 10 上启动时 NODE_PATH 引发错误

    我正在尝试通过以下方式构建 MEAN Todo 应用程序https github com michaelheng429 super mean stack https github com michaelcheng429 super mean
  • 如何限制 foreach 循环中迭代的元素数量?

    我有以下代码 foreach var rssItem in rss Channel Items 但只想要 6 个项目而不是所有项目 我该如何在 C 中做到这一点 只需迭代集合中的前 6 个 foreach var rssItem in rs
  • 如何使用Reactor框架2.x执行多线程map/reduce?

    我之前问过这个问题 https stackoverflow com questions 22844717 how do you execute map reduce operations with the reactor framework
  • 如何在一个 ggplot 中绘制 S&P 500 和苏富比时间序列?

    我正在使用 quantmod 包下载 S P 500 时间序列和苏富比股票 library zoo library tseries library quantmod library ggplot2 env1 new env getSymbo
  • VBox 共享文件夹中符号链接的 Windows 问题

    我在 Virtual Box 上有一个 Ubuntu 17 虚拟机 我的主机操作系统是 windows 8 1 我在主机和来宾操作系统之间创建了一个共享文件夹 现在 因为windows不支持symlinks https en wikiped
  • 优化 SQL 查询

    我目前正在开发一个内容管理系统 我想听听您对以下方面的想法 我有一张桌子 page 我们假设它看起来像这样 ID Title Content 1 Test This is a test 除此之外 我还有一个page option表 这样我可
  • 如何使用 Reflection.Emit 创建多维数组

    我想使用 Reflection Emit 创建一个多维数组并设置它的元素 就像下面的C 代码 int nums new int 2 2 nums 1 1 2 并转成IL代码 IL 0000 nop IL 0001 ldc i4 2 IL 0
  • 在 Android 设备上使用 CCV

    有人尝试过在 Android 上使用 libccv 吗 我在网上找不到任何示例代码 想知道如何使用 CCV 在 Android 应用程序中实现跟踪器 这包括执行以下操作 处理来自 Android 设备相机的图像 在设备屏幕上显示经过CCV处
  • WPF TextBlock 在多行上显示字符串

    我有一个字符串 Item A r nItem B r nItem C 如何将此字符串绑定到 TextBlock 以便它显示为 Item A Item B Item C Thanks 只需使TextBlock大到足以显示三行 TextBloc
  • C#-R 接口

    我需要将 R 连接到某些 C 应用程序 我安装了rscproxy 1 3 and R Scilab DCOM3 0 1B5添加了 COM 引用STATCONNECTORCLNTLib StatConnectorCommonLib and S
  • jQuery:如何触发悬停?

    如何触发第二个悬停功能 adm1n toolbar hover function function adm1n toolbar content select change function e adm1n toolbar trigger m
  • 使用这个关键字来继承? [复制]

    这个问题在这里已经有答案了 可能的重复 scala 自我类型和特征子类有什么区别 https stackoverflow com questions 1990948 what is the difference between scala
  • 无法从日期列进行测量

    我正在尝试计算 completionDate 列中的日期与今天之间的天数 表名称为 事件 2 我有一个名为 事件 的模拟器表 它正在工作 代码 DaysClosed DATEDIFF Incidents 2 completionDate D
  • 在 matplotlib 中绘制 pandas 日期

    我有一个包含日期的固定宽度数据文件 但是当我尝试绘制数据时 日期未在 x 轴上正确显示 我的文件看起来像 2014 07 10 11 49 14 377102 45 2014 07 10 11 50 14 449150 45 2014 07
  • 当复选框控件的 Visible 变为 true 时 comctl32.dll 使用过多内存

    我在 C NET 应用程序运行时向 Windows 窗体添加控件 这些控件中的每一个都与特定信号交互 并使用该信号中的一些数据 信号名称 描述 来源 单位 值等 这些控件上有一个复选框 当其中一个信号的复选框的 Visible 属性变为 t