jjzjj

c++ - 错误 LNK2005 : _sprintf already defined in ntdll. lib(ntdll.dll)

我链接到ntdll.lib以使用ZwQueryInformationProcess并使用多线程运行时库。ntdll似乎定义了一些crt函数。因此,当我链接它并使用运行时库时,我会遇到链接器错误。我可以强制链接器使用crt函数并忽略ntdll符号来消除错误吗?或者以其他方式解决此错误。我知道ZwQueryInformationProcess的文档建议动态加载,但它在我的主项目也链接到的静态库中使用,并且这已经运行了很长时间,所以我不想改变它。谢谢。我在其他网站上发现了一些关于此的讨论,例如:http://www.codeguru.com/forum/archive/index.php/t

windows - 为什么在Win7 64bit下 'ntQuerySystemInformation'无法获取大于65535的进程id?

我使用“ntQuerySystemInformation”获取所有句柄信息,例如:NtQuerySystemInformation(SystemHandleInformation,pHandleInfor,ulSize,NULL);//SystemHandleInformation=16pHandleInfor的结构是:typedefstruct_SYSTEM_HANDLE_INFORMATION{ULONGProcessId;UCHARObjectTypeNumber;UCHARFlags;USHORTHandle;PVOIDObject;ACCESS_MASKGrantedAcce

windows - 无法从 Microsoft 符号服务器下载 "ntdll.dll"的符号

我正在尝试将我的WindowsPhone8应用程序移植到Windows10。我能够构建我的应用程序。当我尝试在移动模拟器上以Releasex86部署我的应用程序时,它失败并给出以下消息:Symbolsforntdll.dllcouldnotbedownloadedfromMicrosoftSymbolServers.Exceptionstringandcallstacksmaynotworkcorrectly.Makesureyouhavenetworkconnectionandtryagain尽管我试图在Release模式下运行我的应用程序,但我不确定为什么VS-2015会尝试下载这

c++ - ntdll!kifastsystemcallret

我的程序在执行结束时崩溃,甚至看不到堆栈展开信息。我只能看到这个“ntdll!kifastsystemcallret”,有些人可以透露一些信息吗? 最佳答案 KiFastSystemCallRet表示线程处于系统调用中-x86NT系统调用调度的一个不幸方面是它不会将上下文返回到原始位置,而是必须返回到ntdll中的静态位置,这将修复上下文并让你回到你来自的地方。粘贴到堆栈中,我们可以为您提供更多提示... 关于c++-ntdll!kifastsystemcallret,我们在StackO

c# - 当我调用 OpenFileDialog 的 ShowDialog 方法时,vshost32.exe 已停止工作

我有一个C#应用程序,我正在对其进行最终测试。但是现在,一个一直有效的功能现在不再有效了!我有一个按钮,当我点击它时我想浏览文件,我看到“打开文件”窗口,半秒后,我收到一个未捕获的visualstudio错误:vshost32.exe已停止工作:很抱歉,错误发生在法语本地化的计算机上:Signatureduproblème :Nomd’événementdeproblème:APPCRASHNomdel’application:TOM.vshost.exeVersiondel’application:10.0.30319.1Horodatagedel’application:4ba20

c++ - OpenCV Visual Studio ntdll.dll

我尝试在VisualStudio2013上使用OpenCV2.4.10创建一个项目,但由于以下异常(exception)情况,到目前为止我运气不佳。请建议帮助。TIA。'letstryitonemoretime.exe'(Win32):Loaded'C:\Users\Kndarp\Documents\VisualStudio2013\Projects\letstryitonemoretime\Debug\letstryitonemoretime.exe'.Symbolsloaded.'letstryitonemoretime.exe'(Win32):Loaded'C:\Windows\

c++ - LNK2019 未解析的外部符号 NtOpenFile

我的代码面临链接器错误。我正在尝试在Win-7X64位m/c中使用VisualStudio命令提示符(2010)进行编译。我看到的错误如下。dust2.objdust2.obj:errorLNK2019:unresolvedexternalsymbol_NtOpenFile@24referencedinfunction_maindust2.obj:errorLNK2019:unresolvedexternalsymbol_RtlAnsiStringToUnicodeString@12referencedinfunction_maindust2.obj:errorLNK2019:unre

c++ - 为什么 malloc/new 捕获调用堆栈?

我有一个在Server2003下作为服务运行的64位应用程序。当我附加VSProfiler或windbg时,我看到很多调用堆栈,如下所示。我知道调试器(或探查器)中产生的进程使用调试堆等...但情况并非如此,因为该服务是由操作系统启动的,而我只是附加到它。我不明白为什么要展开堆栈。探查器显示这样做花费了可测量的时间。更多信息:•这些是使用vc9构建的版本位,在Server2003上运行。•系统环境变量_NO_DEBUG_HEAP设置为1。•我正在使用Microsoft符号服务器。为什么要捕获堆栈跟踪?它似乎正在记录它..但我找不到位置。我的目标是验证应用程序是否真的展开堆栈,如果是这样

c - 如何使用 LoadLibrary() 和 GetProcAddress() 函数将 ntdll.dll 添加到项目库中?

我想用NtQueryInformationThread获取线程的起始地址,但我需要添加它的库。我该怎么做? 最佳答案 我更喜欢将ntdll.lib(您可以在WindowsDDK/WDK中找到它)添加到项目中。在这种情况下,您不需要GetProcAddress东西。 关于c-如何使用LoadLibrary()和GetProcAddress()函数将ntdll.dll添加到项目库中?,我们在StackOverflow上找到一个类似的问题: https://stac

c++ - 调试器启动时 VS2012 : Breakpoint in ntdll. dll,没有更多信息

偶尔,当我使用VS2012在Debug模式下启动/调试我的应用程序时,我会得到一个对话框:hastriggeredabreakpoint.它不包含其他信息,所以我点击break看看发生了什么。哦,但是后来我得到“wntdll.pdbnotloaded”,并且没有关于该问题的其他信息。调用堆栈指向ntdll.dll,此时我的应用程序似乎还没有开始执行。此时选择继续将使应用程序/调试器照常继续。这种情况经常发生(10次发射中大约有7次发射)。我正在运行Windows8(64位)和带有更新1的VisualStudio2012。以前我有Windows7(64位)和VS2010,从来没有遇到过这