草庐IT

null-test

全部标签

python - PyThreadState_GET() 从 PyImport_GetModuleDict() 中返回 NULL

我正在使用Python3.6在Windows上工作。我有以下用于测试python解释器的简单嵌入代码:Py_SetProgramName(L"MyApp");Py_SetPath(L"C:\\Users\\rutski\\Documents\\python\\PCBuild\\amd64\\python36.zip;"L"C:\\Users\\rutski\\Documents\\python\\DLLs;"L"C:\\Users\\rutski\\Documents\\python\\lib;"L"C:\\Users\\rutski\\Documents\\python\\PCBui

c++ - CoInitializeEx 用于 boost::test::unit_test

前几天,我决定需要了解Windows平台上C++的测试驱动开发(使用VisualStudio2010Premium)。在决定试用boost的单元测试框架之前,我环顾四周。我应该说我选择了boostpro.com的版本(如果我没记错的话,当前版本是1.44)。这有一个静态库的构建,所以我不在我的测试中使用DLL。Boost的单元测试文档谈到将代码与测试套件分开,这似乎很合理。但随后您必须处理从现在独立的测试套件项目中引用代码的问题。所以我有一个要测试的库项目(但我仍然不确定如何编写可以引用.exe项目的测试...)所以我在我的解决方案中创建了一个单独的项目,称为单元测试。我添加了以下代码

c - 为什么 PsGetCurrentProcessId() 返回 null?

我遇到了一个奇怪的问题:在“系统”进程的一个线程中,我调用了PsGetCurrentProcessId(),但得到了一个空值。此外,我检查了线程的_CLIENT_ID,发现UniqueProcess和UniqueThread都是null。我还检查了当前进程,即'system'进程,发现它的UniqueProcessId为4,这是正常的。为什么? 最佳答案 系统进程ID是一个非常好的“hack”,因此多个工具(例如ProcExp、windbg)不必处理特殊情况的仅内核线程或空闲函数调度程序。如果你是一个只有内核的线程,你就没有关联的进

windows - 为什么 Createprocess 返回 NULL?

我有以下代码`STARTUPINFOAcif={sizeof(cif)};PROCESS_INFORMATIONpi;CreateProcessA("C:\Windows\notepad.exe",NULL,NULL,NULL,FALSE,NULL,NULL,NULL,&cif,&pi);cout它输出NULL,为什么?怎么了?如果我写`STARTUPINFOcif={sizeof(cif)};PROCESS_INFORMATIONpi;CreateProcess(L"C:\Windows\notepad.exe",NULL,NULL,NULL,FALSE,NULL,NULL,NULL

c - LoadImage() 返回 NULL 和 GetLastError() 返回 0

我一直在网上的不同论坛上搜索答案,但似乎没有与我的情况相符的...我正在使用Windows7,VS2010。我有一个使用定时器来调用任务栏刷新功能的应用程序。在该任务栏函数中包含对LoadImage()的调用,该调用从资源文件中获取图标图像,并最终发送给taskber(使用shell_notifyicon)。在运行应用程序时,这似乎在前几个小时内工作正常,但突然LoadImage()开始失败(它始终是它尝试加载的同一个.ico文件)并返回NULL。我在之后直接插入了一个GetLastError调用,但它总是返回0(表示成功)。图像本身仍然是好的和有效的,我无法解释这一点。有什么线索吗?

windows - 假设 GetDC(hWnd) 作为 WM_CREATE 上的第一条指令被调用,对于窗口 hWnd,GetDC() 是否有可能返回 NULL?

假设GetDC(hWnd)作为WM_CREATE上的第一条指令被调用,对于窗口hWnd,GetDC()是否可能返回NULL?我担心GetDC()可能因资源不足而失败。当发生这种情况时,我应该检查错误吗?调用失败怎么办?Win32API函数会引发异常还是我应该引发异常? 最佳答案 GetDC()确实会失败,无论您何时何地调用它。在处理API时,您应该采取相当悲观的观点,并为任何API函数失败做好准备。正如您所建议的,失败的一个可能原因是系统资源耗尽,例如内核句柄、GDI对象等。所以你应该经常检查错误。不仅是GetDC(),对API函数

windows - 如何在 cmake 中使用 add_test 传递 ${CTEST_CONFIGURATION_TYPE}

我似乎无法弄清楚如何在cmake中使用add_test传递${CTEST_CONFIGURATION_TYPE}而无需CMake添加额外的转义字符。我目前正在使用cmake生成VS项目文件并设置RUNTIME_OUTPUT_DIRECTORY并且需要使用此目录+配置作为一些测试的工作目录,因为它们依赖于其他构建的可执行文件。我试过用add_test(NAMEtestWORKING_DIRECTORY"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/\${CTEST_CONFIGURATION_TYPE}"COMMANDtest${TEST_ARGS})这正确地找到了

在 Windows 核心文件上调用 fopen 返回 NULL 指针

我试图通过它们的绝对路径(在其他地方以编程方式确定)打开几个不同的文件,这样我就可以获得它们的SHA1哈希*,其中一些是核心Windows文件。当我尝试按如下方式打开文件时,fopen()在某些(但不是全部)文件上返回NULL(通常文件名是通过QueryFullProcessImageName获取的,但为了以防万一,我对其进行了硬编码):char*filename="c:\\windows\\system32\\spoolsv.exe";FILE*currFileRead=fopen(filename,"rb");if(currFileRead==NULL){printf("Faile

c++ - wglCreateContextAttribsARB 在有能力的硬件上返回 NULL

我有一个程序可以在Windows机器上创建OpenGL4.0上下文。在我自己的电脑上,这段代码可以工作——但是,在我friend的电脑上,它就不行了。wglCreateContextAttribsARB返回NULL,即使我friend的Nvidia卡支持OpenGL4.4并且应该能够返回向后兼容的上下文。其他所有调用都按预期进行。这是上下文创建代码:dc=GetDC(window::get());PIXELFORMATDESCRIPTORpfd={0};pfd.nSize=sizeof(pfd);pfd.dwFlags=PFD_DOUBLEBUFFER|PFD_SUPPORT_OPEN

windows - Powershell 检索作业给出 "cannot index into null array error"

我正在尝试使用以下脚本测试两台PC是否已连接$array='PC1','PC2'for($i=0;$i-lt$array.length;$i++){Start-Job–NameTestConnection$i–Scriptblock{if(test-connection$array[$i]-count1-quiet){write-hostSuccess}else{write-hostNoconnection}}}当我尝试为任何一个执行Receive-Job时,我得到“无法索引到空数组”。我做错了什么? 最佳答案 您需要传入PC名称作