【问题标题】:C++ dll throwing assertion faliureC++ dll 抛出断言失败
【发布时间】:2010-12-20 08:23:01
【问题描述】:

我有一个用 C# 编写的程序,它使用一个用 C++ 编写的 dll。我有那个来源,但改变它超出了范围。有两个 .pak 和 .jrn 类型的文件保存在应用程序中。但是,这些文件的位置是可配置的。如果我选择将它保存在本地位置(在运行我的 C# 代码的机器的硬盘驱动器上的某个位置),它就可以正常工作。但是,当我尝试将系统配置为将文件存储在远程机器中时,我在 C++ 中收到 Assertion Failure 错误。

这真的很紧急。任何帮助将不胜感激。

提前致谢,

【问题讨论】:

  • 如果您将远程位置映射到带有net use 的驱动器号会发生什么?
  • 那么 C++ 代码中的哪一行导致断言失败?通过编辑您的消息发布确切的代码。
  • 您好 Benoit,我尝试使用网络驱动器映射共享文件夹路径。那没用。
  • 嗨 Martin,我不确定,如何从 Visual Studio 调试 C++ 代码。我正在使用这些 C++ 代码生成的 dll。但是,我发现它的功能失败了。
  • 您应该将源代码编辑到问题中,以便对其进行格式化。对我来说,断言在哪里并不明显。您应该准确地告诉我们它为您提供的线路和其他信息。但最终我认为你必须调试代码。调试它不仅有效吗?你有 C++ 库的 .pdbs 吗?如果没有,但您确实有源代码,请在启用调试信息的情况下自行重建。

标签: c# c++ assertions


【解决方案1】:

我注意到您正在配置 pakDir,但不是 jrnDir。所以我的猜测是jrnDir 指向远程机器上的无效文件路径。

【讨论】:

  • 嗨 Martin,文件正在保存到远程共享文件夹。但是,正如我之前提到的,它会抛出断言失败异常。
  • 那你发错代码了。您确实需要找出(至少)导致断言错误的函数;最好找出哪一行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多