草庐IT

this-page

全部标签

C++,在静态成员函数中使用 'this' 的宏解决方法

我已经覆盖了new以便我可以跟踪内存分配。__FILE__、__LINE__、模块名称等附加参数添加到#define中。但是我想将调用对象的地址添加到参数中,以便在查找问题时可以回溯分配。最简单的方法是将“this”添加到那些附加参数中(这意味着调用者的地址被传递到我的自定义分配内容中)。不幸的是,我们的代码中有很多单例,这意味着一堆调用new的静态成员函数。编译器抛出错误C2671:'...':staticmemberfunctionsdonothave'this'pointers是否有一种解决方法,我可以在不使用this的情况下获取对象的地址,这也将实现它在静态方法中并传递null

windows - 为什么无法从具有 PAGE_GUARD 保护的 block 中读取数据?

我使用ReadProcessMemory函数从地址空间读取数据。我尝试读取所有具有MEM_PRIVATE类型的block。但是当那个block有PAGE_GUARD保护时我得到错误(函数返回0),为什么?感谢大家。 最佳答案 具有PAGE_GUARD保护的页面保证不可访问。对它的任何访问都会产生页面错误,并作为STATUS_GUARD_PAGE_VIOLATION异常反射回拥有该页面的进程。此功能在Windows中大量使用,以检测此站点的命名条件并从中恢复。线程堆栈的最后两页是保护页。当程序递归地崩溃,消耗所有堆栈空间并触发异常时,

c++ - 带有 PAGE_GUARD 的 VirtualProtect 不使用局部变量

这按预期工作。引发了STATUS_GUARD_PAGE_VIOLATION。intmain(){DWORDoldp;DWORD*pdp=newDWORD;*pdp=0;if(!VirtualProtect(pdp,sizeof(DWORD),PAGE_READWRITE|PAGE_GUARD,&oldp))return1;*pdp=1000;return0;}然而,当运行这段几乎相同的代码时,程序无一异常(exception)地退出。intmain(){DWORDoldp;DWORDpd=0;DWORD*pdp=&pd;if(!VirtualProtect(pdp,sizeof(DWO

windows - "This file contained a virus and was deleted"在我构建(和代码签名)的可执行文件上

我已经构建了一个Windows可执行文件(使用MSVC++),需要管理员权限才能运行(它索引文件);我什至使用我购买的代码签名证书对其进行了代码签名。它在Win7、Win8上运行良好,但在Windows10上,如果我从浏览器下载文件,那么我会从IE/Edge收到此消息:Thisfilecontainedavirusandwasdeleted并且(非高级用户)用户几乎不可能访问ZIP、解压缩并运行.exe。(找到合适的检疫地点,解除检疫等等都是非常复杂的;而且对于商业产品来说也是不行的)很明显是误报(我没有病毒,用了很多杀毒软件都查过了,还有https://www.virustotal.

windows - 尝试在 Windows 中启动 Zookeeper 时出现 "log4j.properties was unexpected at this time"

我正在使用从Confluent(http://www.confluent.io/product/kafka-streams/)下载的kafka流。我按照说明在Windows上运行Zookeeper和Kafka。但是当我尝试使用命令启动ZooKeeper时D:\Softwares\confluent-3.0.1\bin\windows>zookeeper-server-start.bat./etc/kafka/zookeeper.properties,我得到错误D:\Softwares\confluent-3.0.1\bin\windows../../etc/kafka/log4j.pr

asp.net - 神秘的 IIS 问题 : Site stops serving dynamic pages, 日志中没有错误

这可能是我遇到过的最神秘的问题。我们安装了一个IIS7,上面有3个网站,每个网站都有自己的应用程序池。每天一次,大约一个小时,其中一个特定的故障。我所说的“下降”是指:它停止响应对动态页面的请求(例如default.aspx),但可以正常提供静态文件(logo.png)。Wireshark告诉我这些动态页面请求实际上返回HTTP500内部服务器错误,但在浏览器中,我没有看到错误。我只看到浏览器在旋转。如果我本地登录到盒子并四处冲浪一切正常。所有页面都拉起来,所以正在查询数据库。这一切看起来都很正常。事件日志中没有错误。我们的内部(应用程序级)错误日志记录没有记录到任何错误。我认为记录每

windows - 未找到 Qt 创建者 : This application has failed to start because MSVCP110. dll

鉴于我为我的“WindowsVista”下载了“Qt64bitversion”,安装后,“QtCreator2.7.0”显示它基于“Qt5.0.2(32bit)”。但是,在创建新项目或打开现有项目时,会出现以下消息:此应用程序未能启动,因为未找到MSVCP110.dll。请注意,消息框本身的标题为“uic.exe-无法定位组件”。但是当我点击“确定”按钮时,它会创建项目(或打开它)。为什么会这样? 最佳答案 安装MSVC2012dll应该有所帮助:http://www.microsoft.com/en-us/download/det

windows - Hyper-V 导致错误 "sorry, this application cannot run under a virtual machine"

在Windows中安装Hyper-V后,在我的Windows中运行游戏时出现以下错误。当然我不是在虚拟机中运行它。我想在安装了Hyper-V的PC上运行游戏。sorry,thisapplicationcannotrununderavirtualmachine即使我试图在Hyper-V管理中停止Hyper-V服务,但这对我不起作用,我得到了同样的错误。请帮我找到解决方案。谢谢。 最佳答案 我找到了一个很好的解决方案。在引导加载程序中创建一个条目,以便在重新启动系统时通过选择该选项不会启动管理程序。这是执行此操作的步骤:1.在命令提示符

Windows 10 不断循环 "How do you want to open this file?"对话框

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭5年前。Improvethisquestion我双击一个xml文件。Windows10询问我“你想如何打开这个文件?”我进行选择并单击确定我2点回来(重复一遍,永远......)

Windows 8.1 无法从 cmd 或 powershell 提示符启动 Powershell - "This app can' t run on your PC"

Powershell突然停止从cmd和powershell提示符打开。在它正常工作和停止工作之间我没有安装任何新东西。当我尝试使用以下命令从cmd窗口(提升和未提升)启动powershell.exe时C:\Users\myuser>powershell.exe我收到操作系统的弹出式错误消息:Thisappcan'trunonyourPC一旦我关闭那个弹出窗口,cmd提示我就从那里开始调用,然后打印:Accessisdenied到屏幕(是的,即使我在提升的cmd提示符下执行此操作)当我尝试使用以下命令在powershell中执行此操作时:PSC:\Users\myuser>powersh