Появилась проблема, сначала все было ОК, компилировалось и выполнялось, потом вдруг стало выдавать сегментэйшн фолт.
Результаты отладки в GDB:
int main() {
Openbox::RC rc;
...
--->
Openbox::RC::RC() {
SingleNode* new_node = new Openbox::NumberNode(xml_doc,
"resistance/strength", "resistance to screen border (pixels)",
11);
--->
Openbox::NumberNode::NumberNode(xmlDocPtr doc, std::string path,
std::string desc, int value)
: SingleNode(doc, path, desc), i_value(value) {
--->
Openbox::SingleNode::SingleNode(xmlDocPtr doc, std::string path, std::string desc)
: Node(doc, path, desc) {}
--->
Openbox::Node::Node(xmlDocPtr doc, std::string path,
std::string desc)
: xml_doc(doc), str_path(path.c_str()), str_desc(desc.c_str()),
xml_node(find_node(xml_doc)),
str_name((const char*) xml_node->name) {}
--->
xmlNodePtr Openbox::Node::find_node(xmlDocPtr doc) {
int sz = str_path.size(); // ! здесь
и вот в этом месте, Segmantation fault
смотрю значение str_path._M_dataplus._M_p
= (char*) 0x69666E6F (Address 0x69666E6F out of bounds)
(отладка в врапере Insight для GDB)
Что не так с [std::string str_path] ?
Это protected член класса Node.
Наследование такое
class Node;
class SingleNode: public Node;
class NumberNode: public SingleNode;
class RC - сам по себе.
Ответ на:
комментарий
от dilmah
Ответ на:
комментарий
от hapchu
Ответ на:
комментарий
от dilmah
Ответ на:
комментарий
от dilmah
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум рефакторинг интерфейса класса на С++ (2014)
- Форум Вспоминая C++. Проблемы с линковкой template'ов (2007)
- Форум c++ Вопросик с лямбда (2020)
- Форум Почему ifstream не читает нормальные значения из sysfs? (2020)
- Форум Третий день бьюсь над сегфолтом... (2013)
- Форум Содержит ли данный код UB? Попытка №2 (2018)
- Форум μt — C++20 библиотека модульного тестирования (2024)
- Форум Можно ли подружить glubuild2dmipmaps и qt? (2022)
- Форум Как отправить почту? (2016)
- Форум Как реализовать страничность в gtkmm? (2025)