Russian Qt Forum
Ноябрь 23, 2024, 19:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: отображение пользовательских типов в отладчике  (Прочитано 3600 раз)
BuRn
Гость
« : Июль 28, 2013, 13:08 »

Добрый день.
Интересует такой вопрос, возможно ли сделать дополнение к отладчике. Что нужно:
Реализовал класс денег, хранятся данные в интах, когда смотрю под отладчиком, данные естественно отображаются в интах, а не в форме моего типа money. Хотелось бы видеть в отладчике вместо 1234567, что - то типа 12345,67
Записан
Figaro
Гость
« Ответ #1 : Июль 28, 2013, 13:10 »

OS, debugger... какие?
Записан
BuRn
Гость
« Ответ #2 : Июль 28, 2013, 13:15 »

OS, debugger... какие?
gdb + linux
В студии знаю что такое можно организовать
Записан
kamre
Частый гость
***
Offline Offline

Сообщений: 233


Просмотр профиля
« Ответ #3 : Июль 28, 2013, 15:38 »

В GDB есть возможность писать pretty-printers на python.

Код
Python
import gdb
 
class MoneyPrinter:
 def __init__(self, val):
   self.val = val
 
 def to_string(self):
   return 'Money: ' + str(self.val['amount']*0.01)
 
def lookup_function (val):
 if str(val.type) == 'Money':
   return MoneyPrinter(val)
 return None
 
gdb.pretty_printers.append(lookup_function)
 

Код:
>gdb money.exe
...
Reading symbols from C:\...\money.exe...done.
(gdb) l
1       struct Money {
2         int amount;
3       };
4
5       int main()
6       {
7         Money m = { 123 };
8         return 0;
9       }
(gdb) b 8
Breakpoint 1 at 0x401576: file money.cpp, line 8.
(gdb) r
Starting program: C:\...\money.exe
[New Thread 1672.0x176c]

Breakpoint 1, main () at money.cpp:8
8         return 0;
(gdb) p m
$1 = Money: 1.23
Записан
BuRn
Гость
« Ответ #4 : Июль 28, 2013, 16:53 »

А без питона никак ?
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #5 : Июль 29, 2013, 09:06 »

А без питона никак ?
модифицируй сам gdb.
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.08 секунд. Запросов: 22.