【问题标题】:Weird "Bus error" in string::string constructorstring::string 构造函数中出现奇怪的“总线错误”
【发布时间】:2009-06-07 15:47:17
【问题描述】:

当一个奇怪的错误开始弹出时,我一直在测试我负责填充多图对象的部分代码:

int SetPortName(string ID, string Name)
    cout << "ID: " << ID << " Name: " << Name;
    ...
}

在 FreeBSD 5.4 的非 root 用户下工作正常,但在 root 下运行时因“总线错误”而崩溃。

【问题讨论】:

  • 你不会真的指望我们从这个诊断 yopur 问题,是吗?

标签: c++ stl segmentation-fault freebsd


【解决方案1】:

标题提到了string的构造函数,但由于你没有显示任何调用构造函数的代码,我不得不假设问题实际上出在调用者这个函数,其中将为参数构造两个string 对象。我的猜测是你的两个实际参数之一是char*,它是一个空指针。使用您的调试器进行进一步调查。

【讨论】:

  • 很好的心理调试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-02
  • 2014-05-04
  • 2016-09-10
相关资源
最近更新 更多