Не удалось установить точку останова для функции-члена класса - PullRequest
7 голосов
/ 01 августа 2011

У меня есть класс, похожий на этот:

namespace madoka
{
class polarizable_sites
{
public:
void resize(const size_t dim_);
void clear(void);
};
}

в GDB, я мог бы установить точку останова при очистке с помощью

b 'madoka::polarizable_sites::clear()'

, однако, для изменения размера функции члена,

b 'madoka::polarizable_sites::resize(const size_t)'

не работает.GDB сообщил об ошибке:

у класса madoka :: polarizable_sites нет ни одного метода с именем resize (const size_t) Подсказка: попробуйте 'madoka :: polarizable_sites :: resize (const size_t)' или 'madoka:: polarizable_sites :: resize (const size_t) '(обратите внимание на начальную одинарную кавычку.)

Мне интересно, почему, так как стиль функции автоматически завершается TAB.

КСТАТИ: Iиспользую GDB

GNU gdb (Ubuntu / Linaro 7.2-1ubuntu11) 7.2 Copyright (C) 2010 Free Software Foundation, Inc.

с компилятором '

g ++ (Ubuntu / Linaro 4.5.2-8ubuntu4) 4.5.2 Copyright (C) 2010 Free Software Foundation, Inc.

Ответы [ 2 ]

3 голосов
/ 01 августа 2011

Возможно функция встроена.Попробуйте добавить __asm int 3, если это код x86 в синтаксисе GDB, и пройдитесь по коду.Этот прием сэкономил мне много времени при отладке кода MSVC x86.

0 голосов
/ 01 августа 2011

Я предполагаю, что компилятор удалил спецификатор const,

Попробуйте b 'madoka :: polarizable_sites :: resize (size_t)'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...