问题标签 [handle]
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.
c++ - _beginthreadex 内存不足
我目前调试一个多线程应用程序,它运行没有错误,直到某些函数被调用大约 2000 次。之后应用程序停止响应,我可以追踪到 _beginthreadex 因内存不足错误而失败。
在 ProcessExplorer 中检查应用程序时,我可以看到越来越多的线程句柄泄漏和不断增长的虚拟内存,直到发生错误,私有字节保持低位。泄露的线程也调用 CoInitialize 并且从不调用 CoUninitialize。
我想知道的是:
- 虚拟内存代表什么?
- 虚拟内存是否与泄漏的线程句柄有关?
- COM 或 MSXML6(由线程调用)是否复制线程句柄以及如何关闭它们?
我希望我的问题很清楚并且不会破坏任何规则,这是我的第一个问题,英语不是我的第一语言。:-(
我忘了提一下,一旦线程终止,我就会关闭 _beginthreadex 返回的句柄,这将打开的句柄数量减少了大约一半,但不会影响虚拟内存。此外,在我插入 CloseHandle 调用之前,ProcessExplorer 中显示的每个线程句柄的线程句柄计数为 2。
编辑
我以前不包括这个而变得愚蠢,我知道线程退出是因为在使用 Visual Studio 进行调试时活动线程的数量没有增加。而且我确实希望并非所有泄漏的内存都是调用 TerminateThread 的结果,因为它们在一个相当大的库中使用,我不想修改它。
对于我的问题的 com 部分,使用 !htrace -diff 我发现由 msxml 分配但在函数调用结束后未释放的线程句柄,它们可能与泄漏有关还是会在以后关闭?
感谢所有这些评论,虽然问题仍然存在,但他们帮助我更好地理解它。
c# - 强制为控制创建句柄
我目前正在创建一个静默打印模块。我正在使用的当前控件是,它确保控件句柄已经创建(IsHandleCreated
)。我做了一切来欺骗这个,但一点运气都没有。
您是否有想法如何为控件创建句柄而不在屏幕上显示任何句柄?
managed-c++ - 托管 C++ ^(句柄)--> 它是什么以及它与引用和指针有何关系
托管 C++ 中对象的句柄有什么区别
如:
和普通的 C++ 指针?
它们与我们在 C# 中的引用有什么关系?
.net - 创建窗口句柄时出错
我创建了一个 .net 2.0 windows 应用程序。此应用程序动态创建表单控件。现在,当我尝试运行应用程序时,它会抛出异常“创建 Windows 句柄时出错”。在此之后,应用程序挂起并且没有任何反应。第一次,表单会正确显示。在特定事件中,我试图重新加载相同的表单,而那时我遇到了这个异常。任何人都知道如何摆脱这个。任何形式的帮助都会很棒:)
delphi - 模块和德尔福
我正在使用动态链接将(BPL)模块加载到我的应用程序中,这些模块中内置的简单表单可以正常加载,但是当向一个表单添加越来越多(第三个)组件和代码时,我收到此错误消息“无效的类类型转换”第一次,因为第二次加载正常,所以我发现了这个异常,我再次加载了那个模块,这就是我的解决方法,但是为什么会发生呢?
提前致谢。
asp.net - w3wp 处理下载文件
我设置 iis 以使用“asp.net 2.0”的 isapi 过滤器处理 .exe,以启用动态 url 替换。为此,我在 iis 中设置了扩展,并将以下行添加到 web.config。到目前为止工作正常。
<add path="*.exe" verb="*" type="System.Web.StaticFileHandler" />
问题是 w3wp 进程在这些文件上有几个句柄的形式。很可能是因为此刻有人正在下载它们。
有没有办法告诉 iis/asp.net 不要在文件上放置独占句柄?即使网站正在运行,我也想替换它们。只要 asp.net 不处理这些文件,它就可以工作。
c - 如何在C中的最后一行之前添加一行
嗨,我在 Unix 平台上使用 C 语言工作。请告诉我如何在 C 语言的最后一行之前追加一行。我在追加模式下使用了 fopen,但我不能在最后一行之前添加一行。
我只想写入文件的倒数第二行。
c - C中的指针与句柄(是用来传达不同事物的术语吗?)
最近,我阅读了一个人的白皮书,他将指向结构的指针称为句柄。作者显然是之前在windows平台上写过C代码的人。谷歌搜索表明 Windows 程序员通过句柄与系统组件交互。我想知道 Windows 程序员将所有结构指针都称为句柄是否是常见的做法?或者句柄一词是否意味着传达超出结构指针的东西?我问的是一个 linux C 程序员。
我指的白皮书是:Duff、Heroux 和 Pozo。稀疏基本线性代数子程序概述:BLAS 技术论坛的新标准。ACM Transactions on Mathematical Software,第 28 卷,第 2 期,2002 年 6 月,第 239-267 页。
java - 全屏显示TOPOST窗口
我正在玩 Java 中的 JFrame。我希望它成为最顶层的窗口,即始终位于顶层。setAlwaysOnTop() 工作正常,但是一旦我以全屏模式启动电影或游戏窗口,它就无法保持在顶部。
我玩弄了 JNI 和句柄。我的 JNI 的 C 代码正在使用 SetWindowPos() ,这似乎工作正常,直到我启动一个全屏应用程序。这是一个示例:
我已经在谷歌上搜索了一段时间,我所建立的只是全屏以独占模式运行并“暂停窗口系统,以便可以直接在屏幕上进行绘图”。
任何人都可以提出解决方法吗?顺便提一句。我的C不是那么出色,所以放轻松..
谢谢!达摩
java - 处理 JNI 崩溃
我有一个包含遗留 C 代码的 dll,我通过 JNI 调用此 dll,但有时 C 代码崩溃并导致 JVM 终止。有没有办法避免JVM崩溃?我可以处理 JNI 故障并让 JVM 存活吗?:)