问题标签 [getlasterror]

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.

0 投票
2 回答
10914 浏览

linux - 程序退出状态约定

Windows 和 GNU/Linux 中应用程序的常规返回值分别是什么。0 表示成功。但是应该在用户请求的中止时使用什么。当我在 Windows 上中止时,它返回 3,但如果它不是 ERROR_PATH_NOT_FOUND,则此值不在系统错误代码列表中。GNU binutils 使用 1。从用户的角度来看,返回 GetLastError 或 errno 会很好,因为它们已记录在案,但这些似乎仅涵盖较低级别的状态代码。我正在寻找一个代表“应用程序终止失败”的值

我受伤的原因是我想

来自一个信号处理程序,该处理程序在打印有关其发生位置的消息后捕获一些访问冲突/SIGSEGV(即编程错误)。那么错误代码应该可以从用户输入错误中去除。

0 投票
1 回答
353 浏览

c++ - ACE 调试:如何导致 msg 队列已满?

我正在使用以下方法:

ACE_Task::putq (ACE_Message_Block *mb, ACE_Time_Value *tv)

这是我称之为的行: ret = putq(mb, const_cast(&ACE_Time_Value::zero));

我基本上在尝试的是我需要定期出错

EWOULDBLOCK 和 ESHUTDOWN 来自

int lastErr = ACE_OS::last_error();

为了立即调试它...

所以我的问题是,是否有一种简单的方法可以强制此类错误?

我已经尝试过了: while ( ret >= 0 ) ret = putq(mb, const_cast(&ACE_Time_Value::max_time));

但是我的线程在几次调用后就卡住了,并且永远不会从 putq 返回...

许多thanx提前提示!

彼得

0 投票
1 回答
1883 浏览

qt - 如何将 GetLastError 的文本表示为 QString?

GetLastError()可以以某种方式传递给以FormatMessageW获取格式化的消息。目标是在最后得到一个QString。什么是正确和安全的方法?

0 投票
1 回答
617 浏览

c++ - PeekNamedPipe 失败,但 GetLastError 返回 0

我对 Windows API 感到困惑。我尝试使用PeekNamedPipe. 此函数失败,但GetLastError()不返回错误。

我的代码的相关部分是

这会引发错误,生成以下消息:

但是如果PeekNamedPipe失败,GetLastError不应该返回 0 ( == ERROR_SUCCESS),对吧?

谢谢您的帮助!

0 投票
1 回答
10283 浏览

c - GetLastError()、errno、FormatMessageA() 和 strerror_s()?

我对 和 之间的确切关系感到GetLastError()困惑errno。它们是相同的数值,还是完全不同的东西?我怎么知道我应该检查哪一项?

如果我想将错误代码转换为字符串进行调试,我可以与 ?FormatMessageA()互换使用strerror_s()

WSAGetLastError()最后,总是返回与 相同的值是真的GetLastError(),还是它们都返回不同的值?

0 投票
1 回答
293 浏览

performance - MongoDB 的 runCommand 比直接调用慢很多

我有这两个 mongo 命令,在我看来应该会导致相同的结果:

两个命令都正确执行插入,但是,第二个命令慢 100 倍(500 毫秒对 45 秒)。有谁知道,为什么会这样?仅当设置 {j:1} 时才存在差异,因此它可能与某些日志问题有关?

0 投票
1 回答
220 浏览

mongodb - MongoDB:强制顺序执行插入和更新

我正在对 MongoDB 进行两次连续写入(没有分片,没有副本):

  1. 将数据插入数据库
  2. 查找并修改插入 1 中的数据。

在执行步骤 2) 时,是否允许该命令看到来自步骤 1) 的数据插入?为了确保这一点,我应该在步骤 1) 中使用的最小 WriteConcern 是多少?

至于我的用例,我知道,我可以将 1 和 2 合并为一个简单的步骤;但是,我的实际用例要复杂得多,不能这么容易解决。

0 投票
1 回答
13498 浏览

c++ - WinAPI:OpenProcess() 返回错误 5,并为主机进程启用了 SeDebugPrivilege

我有一个例程,当我HANDLE在列表中“行走”时,我会处理遍历以获取每个进程的

HANDLE h = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID)访问令牌在哪里PROCESS_ALL_ACCESS,句柄继承设置为FALSE,并且 pe32 是PROCESSENTRY32

GetLastError()返回错误代码 5,所有句柄都是与 Spy++32/64 中的任何适当进程不对应的地址(我尝试在两个平台目标下构建应用程序,但正如您所料,结果是一样的)。


为我正在使用的主机进程设置 SeDebugPrivilege 的代码是:


一些对您有帮助的问题:

  1. 我正在运行 Windows 7 x64 Professional。
  2. 是的,devenv.exe 以“以管理员身份运行”权限启动,这意味着调试器和应用程序本身是在相同的关联下启动的。
  3. 我尝试过切换 UAC 或完全关闭 UAC 运行应用程序。仍然是错误代码 5。
  4. 我只是尝试这样做,但PROCESS_QUERY_LIMITED_INFORMATION收到错误代码 6 或ERROR_INVALID_HANDLE. 也尝试使用PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,结果再次出现错误 5。
  5. SeDebugPrivilege已启用,并通过 SysInternals 的 Process Explorer 进行了验证。此外,从 devenv / 任何调试器产生的所有进程都继承 SeDebugPrivilege 所以......这很奇怪。

非常感谢大家的宝贵时间,我正在解决这个问题:S

0 投票
0 回答
1422 浏览

c - HttpSendRequestA 抛出 ERROR_SXS_KEY_NOT_FOUND (00002EE7)

我正在对 Immunity Debugger 中的一个恶意软件进行逆向工程,并尝试将其连接到我使用 Python 设置的服务器,SimpleHTTPServer这样我就可以下载我放在那里的文件。

我的电话HttpSendRequestA一直失败,给出错误:ERROR_SXS_KEY_NOT_FOUND (00002EE7). 我理解这意味着“无法解析服务器名称或地址”。但是,我可以从浏览器访问服务器(它显示了我放在服务器上的文件,我可以单击并阅读),并且可以在访问站点时看到请求(如下所示)。我使用了 ping127.0.0.1和 ping 127.0.0.1:8000,结果如下所示(第一个有效,后者无效)。我尝试在 Immunity Debugger 中通过127.0.0.1,访问它127.0.0.1:8000https://127.0.0.1:8000/并且都产生相同的结果。

我知道这HttpSendRequestA是几个 API 调用的一部分(列表和顺序在这里),它们都在那里。我事先添加了 3 个函数调用,因为我认为这是错误所在。

平:

简单HTTP服务器:

代码:

0 投票
0 回答
153 浏览

c - 使用 wininet 连接到 Internet

我使用 Python 的 SimpleHTTPServer 在我的笔记本电脑上设置了一个临时服务器,地址为 127.0.0.1:8000。我编写了一个小型 C 程序,它试图连接到服务器并查看那里的文件,d.txt. 但是,我的程序没有正确连接。HttpSendRequestA抛出ERROR_SXS_KEY_NOT_FOUND (00002EE7),但问题更高。