置.PDF触发断点
Aspose.PDF Triggers Breakpoint
我将Aspose.Cells和Aspose.PDF实现到我们公司现有的应用程序中。 虽然我对此遇到了一些麻烦(主要是因为我试图将两个 API 实现到同一个文件中,这是一个坏主意) 我想出了如何让它或多或少地工作。
我现在的问题是,虽然Aspose.Cells工作得很好,似乎没有任何异常行为Aspose.PDF已经在努力设置许可证,即使我最终让它工作,我什至无法启动Aspose::P df::D ocument。
因此,第一个完全不寻常的事情是我必须在Aspose Package给出的示例代码中设置许可证的方式,并且在官方资源中,许可证是这样设置的。
auto lic = System::MakeObject<Aspose::Pdf::License>();
lic->SetlLicense("c:\Foofooproj\Aspose.Total.C++.lic");
此代码不会在我的计算机上运行并导致错误。
粗略翻译
食物.exe触发断点
源语言
食物.exe Hat einen Haltepunkt ausgelöst
当我使用这样的 emtpy 构造函数初始化System::String时也会发生同样的情况。
auto lic = System::MakeObject<Aspose::Pdf::License>();
System::String str;
str.FromUtf8("C:\foofooproj\Aspose.Total.C++.lic");
lic->SetLicense(str);
但是,如果我首先使用空字符串初始化System::String设置许可证似乎工作正常,所以这有效。
auto lic = System::MakeObject<Aspose::Pdf::License>();
System::String str(u"");
str.FromUtf8("C:\Projekte\Aspose\Lizens\Aspose.Total.C++.lic");
lic->SetLicense(str);
如果上面的代码有效,并且我尝试从Aspose::P df::D ocument创建一个对象,这将崩溃。
void Aspose_pdf::helloWorld()
{
auto doc = System::MakeObject<Aspose::Pdf::Document>();
.....
.....
}
我实际上不知道发生了什么。我目前没有使用任何使用命名空间命令。 如果有人知道如何解决这个问题,那就太好了。
编辑: 错误正好发生在以下函数的 smart_ptr.h 中。
typename std::enable_if<!IsSmartPtr<T>::value, SmartPtr<T> >::type MakeObject(Args&&... args)
{
System::Detail::OwnNextObject ownershipSentry;
T *const object = ::new T(std::forward<Args>(args)...);
ownershipSentry.CreatedSuccessfully(object);
return SmartPtr<T>(object);
}
在第二行如此T *const object = ::new T(std::forward<Args>(args)...);
是"导致"错误,或者至少在这里错误将触发。
编辑2:
在这里,您将找到我的代码总体外观的简单示例。 我从在我的程序中实现Aspose.Pdf开始,所以我编辑了我的 其他库目录,其他依赖项,其他包含目录,preprozessor 定义和我的堆栈大小,以适应Aspose.Pdf示例中给出的这些设置。 在此之后,我创建了我的Aspose_Pdf类并对其进行了测试。到目前为止工作得很正常。 在此之后,我也进行了相同的编辑以适应Aspose.Cells。我还创建了一个类Aspose_Cells并对其进行了测试。虽然这现在有效,但我的Aspose_Pdf课停止工作。过了一会儿,我设法至少获得了Aspose_Pdf的许可证激活,从这一点开始,我遇到了上述问题。
其他依赖项:
...
Aspose.PDF_vc141x64d.lib
aspose_cpp_vc141x64d.lib
Aspose.Cells.lib
其他图书馆目录:
...
..AsposeAspose.PDFlibDebug
..AsposeAspose.Cellslib64
其他包含目录
...
..AsposeAspose.PDFlibDebug
..AsposeAspose.PDFincludeasposecpplib
..AsposeAspose.PDFincludeAspose.Pdf.Cpp
..AsposeAspose.CellsInclude
..AsposeAspose.CellsIncludeicuinclude
..AsposeAspose.CellsIncludeboost
我从未听说过Aspose.Pdf,我也不知道System::MakeObject<
是如何工作的。但对我来说,看起来所有代码都可以简化为下一个:
Aspose::Pdf::License^ lic = gcnew Aspose::Pdf::License();
System::String^ str = "C:\foo\fooproj\Aspose.Total.C++.lic";
lic->SetLicense(str);
当涉及到Pdf.Document
时,初始化可能如下所示:
Aspose::Pdf::Document^ doc = gcnew Aspose::Pdf::Document();
- 无法删除指针,已触发断点
- 条件断点在不应该触发时触发
- GDB 断点在 Mac 上是不准确的
- 在 vscode 中运行时无法暂停或设置断点
- 使用 cpprest (Casablanca) 返回 PDF 响应
- 不会命中此断点
- 当前不会命中断点。没有调试器目标代码类型的可执行代码与此文件关联
- 如何使用打印到 PDF 打印机在 MFC 和 CView 中以编程方式打印而不提示输入文件名?
- 如何在进入动态打开的共享库时设置断点?
- 为什么断点显示数组的第二个值是一个大数字?额外学分工作
- 代码在 msvcrt .dll函数上设置断点失败
- 如何在引用上设置数据断点
- 无法在visual studio 2017(本机c++)中禁用数据断点
- 为什么在c++中使用Delete[]会出现跟踪/断点错误
- for循环的条件只有在遇到断点后才生效
- 项目名称.exe 已触发断点
- 视觉对象触发了断点 c++
- 使用 C++/Qt(已知密码)打开加密的 PDF
- 实现在多线程代码中安全恢复的断点
- 置.PDF触发断点