GDB: попытка использовать имя типа в качестве выражения

#c #c #&db

#c #c #&db

Вопрос:

Я сталкиваюсь с двусмысленностью с именами моих переменных и ключевыми словами, зарезервированными &db. У меня есть несколько переменных с именами ‘param’, ‘header’. Теперь я не могу изменить имена переменных, поскольку это очень большой проект. Я не могу распечатать содержимое этих переменных с помощью команды print в &db, поскольку получаю приведенную ниже ошибку.

 (&db) print param
Attempt to use a type name as an expression

(&db) print header
Attempt to use a type name as an expression
  

Есть ли какая-либо опция, доступная в &db для устранения этой двусмысленности?

Комментарии:

1. (&db) p param выводит правильное значение $1 = 1 в тестовой программе, которую я написал. Вы компилировали программу с флагом отладки ( -& )?

2. Используйте кавычки. print 'param' Работает? Источник: этот блог

3. «Теперь я не могу изменить имена переменных, поскольку это очень большой проект» — это должно быть возможно довольно легко сделать в хорошей IDE

4. @klutt Даже если это правда, изменение имен переменных в программе только для ее отладки не является масштабируемым решением.

5. Здесь работает нормально, вы уверены, что это происходит из &db. Я даже создал тип с именем param в своей программе на C . Работает по-прежнему нормально. Просто предположение. Какую версию &db вы используете? Я использую GNU &db (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-&it ( &db --version ).