我正在尝试利用GetThreadContext来查看当前调试寄存器的设置.无论我调试什么程序,它都会返回0xCCCCCCCC.我能够成功设置断点ctx.Dr0,然后使用自定义异常处理程序捕获这些断点,但如果我尝试查看存储在ctx.Dr0中的地址,它总是显示为0xCCCCCCCC.这是为什么?
谢谢
CONTEXT ctx;
GetThreadContext(GetCurrentThread(),&ctx);
cout << hex << ctx.Eip << endl;
Run Code Online (Sandbox Code Playgroud)
编辑**
我想我没有充分问我的问题,因为当时我没有意识到我的想法中的错误.我实际上是试图从线程中调用GetThreadContext,我希望得到它的上下文.由于显而易见的原因,这不起作用.相反,我认为CONTEXT ctx = {CONTEXT_FULL}有效.最有帮助的答案是Hans Passant的评论如下.
我有一个用于Python列表的c ++ boost python对象(PyObject上的boost包装器),
PyObject * pyList = func(...);
boost::python::object listObj(handle<>(boost::python::borrowed(pyList)));
Run Code Online (Sandbox Code Playgroud)
我可以通过对其执行以下操作来验证这确实是一个列表
boost::python::object np = import("numpy");
boost::python::np_difference = np.attr("diff");
np_difference(listObj);
for(int i=0; i<len(listObj); i++){
double value = boost::python::extract<double>(listObj[i]);
cout << i << " " << value << endl;
}
Run Code Online (Sandbox Code Playgroud)
它从i-1元素中减去第ith个元素并创建一个新列表,然后提取每个列表并将其打印到C ++中的stdout中。
我想做的是将此listObj与我定义为的打印功能一起使用
boost::python::object print = std.attr("print");
Run Code Online (Sandbox Code Playgroud)
但是我只想打印我指定的元素之一。在python中,我只会写
print myList[0]
Run Code Online (Sandbox Code Playgroud)
因为它只是一个python列表。但是当我尝试
print(listObj[0]);
Run Code Online (Sandbox Code Playgroud)
在C ++中使用Boost python我得到
Error in Python: <type 'exceptions.TypeError'>: No to_python (by-value) converter found for C++ type: boost::python::api::proxy<boost::python::api::item_policies>.
Run Code Online (Sandbox Code Playgroud)
那么,如何从c ++内部访问来自python列表对象的单个元素,并在python调用中使用它,例如上述的print方法(或其他需要输入字符串的python函数)呢?
我是python的新手.我的要求是将所有文件从源目录压缩(压缩)到目标目录.我使用了stackOverFlow中的以下代码.
import zipfile, os
locfile = "D:\Python\Dir_dir\Dir_dir\ABC.txt"
loczip = "D:\Python\Dir_dir\Dir_dir2\ABC_TEST.zip"
zip = zipfile.ZipFile (loczip, "w")
zip.write (locfile)
zip.close()
Run Code Online (Sandbox Code Playgroud)
它正在创建一个zip文件,但它包含整个继承的目录结构.除了驱动器(D:/),结构的其余部分被添加到zip中.它看起来如下:"D:\ Python\Dir_dir\Dir_dir2\ABC_TEST.zip\Python\Dir_dir\Dir_dir\ABC.txt"
而我想:"D:\ Python\Dir_dir\Dir_dir2\ABC_TEST.zip\ABC.txt"
它也没有压缩.
请有人分享这个问题的解决方案.
谢谢,Subrat