dzabraev / mcgdb Goto Github PK
View Code? Open in Web Editor NEWcombined gdb with mcedit
License: Other
combined gdb with mcedit
License: Other
Если делать stepi из граф. окна, то заметны задержки.
Если делать stepi из gdb shell, то задержки гораздо меньше.
{void (Widget *, mouse_msg_t, mouse_event_t *)} 0x49adb3 <edit_dialog_mouse_callback>
<edit_dialog_mouse_callback>
должно открываться новое окно с исходным кодом,При изменени переменной типа enum {...} пользователю должно выводиться окно. В окне должно быть отображено следующее:
Список всех значений данного типа enum. Каждое значение должно быть кликабельным.
1.1 Если элементы данного enum являются степенями двойки, то при клике на значение enum-a
оно должно добавляться в набор. При повторном клике оно должно убираться из набора. Значение переменной должно формироваться, как побитовое ИЛИ всех элементов набора.
1.2 Если Элементы не являются степенями двойки, тогда одновременно может быть выбран только одно значение enum-a.
В окне должно быть редактируемое поле, в котором будет отображаться строка вида
(WOP_WANT_TAB | WOP_SELECTABLE | WOP_TOP_SELECT)
Так же в окне должно быть редактируемое поле, в котором представлено целовек число, которое является вычислением выражения п.2
Если пользователь кликает на строку вида
<AlreadyDeref>
, то для этого места нужно делать dereference,
даже если deref для этого адреса уже делался.
Если имеется указатель char *str
и при команде (gdb) print str
выводится строка наподобие
0x4008d8 "тест кодировки abdc"
, то необходимо предоставить польз. возможность
изменять не только адрес, но и элементы, из которых состоит строка.
Сейчас тип char str[4] печатается посимвольно, а должен
печататься пепрерывной строкой.
intarr3[0:2] = [
*(0x0)[0:2] = [
*(Cannot access memory)[0:2] = <CantMemAccs>,
*(Cannot access memory)[0:2] = <CantMemAccs>,
*(Cannot access memory)[0:2] = <CantMemAccs>
]
При печати многомерного массива слова Cannot access memory
не должны быть кликабельны.
Необходимо реализовать изменение целых чисел,
значения которых представлены в виде структуры.
При закрытии окна localvars почему то читается память.
Память читаться не должна.
при использовании команды info threds
из
target подгружается информация о потоках. Но, при этом, в mcgdb
информация о потоках не обновляется.
После печати массива добавляется лишний пробел.
пример см. в edit_goto_cmd (esc+l в mcedit)
Если при печати указателя был выдан Cannot access memory
,
то в этом случае разыменование делаться не должно.
1.Если где-то печатается тип данных, и этот тип не является стандартным, то
тип должен быть кликабельным.
2. Если текущее окно является окном, содержащим лок. переменные, то при крике по типу должно открываться новое окно с исходным кодом, где view должен быть перемещен на определение типа.
нужно реализовать способ, что бы при помощи комбинации клавишь осуществлялось закрытие
окна с front-end. Причем комбинация клавишь должна быть отличной от mc.
Так же нужно реализовать команду в gdb, при помощи которой можно закрывать окна.
Метод string
будет читать память target каждый раз при вызове метода string()
const char * S;
pi value=gdb.parse_and_eval('S')
pi value.string()
pi value.string()
Сейчас при клике по указателю на массив пользователю выводится
диалог, при помощи которого предлагается изменить значение указателя.
Однако указатель на массив вещь незменная.
Диалог открываться не должен.
Нужно везде заменить (gdb)
на gdb.prompt
При клике по самой верхней строке вылезает меню, при помощи которого можно что-нибудь
изменить в текущем read-only окне. Нужно сделать, что бы это меню было невозможно вызвать.
Пакет mcgdb конфликтует с mc.
Необходимо убрать все из разряда man-страниц, что конфликтует с mc
123
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.