Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 27.02.2010
Сообщений: 5

Получение объектов из watch во время debug

27.02.2010, 09:36. Показов 2492. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Есть очень нетривиальная задача, может кто подскажет хотябы в какую сторону смотреть. в VS2008 во время отладки программы у нас в watch присутствуют некоторые объекты. Главный вопрос - как получить эти объекты, хотя бы что бы прочитать все поля этого объекта.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.02.2010, 09:36
Ответы с готовыми решениями:

Во время дебага в Watch не вижу значения текущих value
vs 2010. во время дебага в Watch не вижу значения текущих value. Раньше работало, почему-то сейчас не показывает. Где это включается? Нужны...

Получение списка объектов из ComboBox
Задача. На форме есть ComboBox, в котором есть 3 значения {РСУ 1, РСУ 2, РСУ5}. Надо получить эти значения в список - List1, что бы...

Контейнер и получение динамических объектов
Привет. Как можно грамотно с точки зрения ООП реализовать класс-контейнер, где будут хранится объекты? Объекты не однотипные, а...

18
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
27.02.2010, 11:44
Цитата Сообщение от Servantez Посмотреть сообщение
как получить эти объекты, хотя бы что бы прочитать все поля этого объекта.
Немного невнятно изложено...
Объекты из окна watch присутствуют в программе.
Вы хотите получить доступ к именам переменных без использования дебаггера?
0
0 / 0 / 0
Регистрация: 27.02.2010
Сообщений: 5
27.02.2010, 15:04  [ТС]
Я хочу во время дебага получить их, что бы работать с ними. Это будет Add-in для студии. Как только программа попала на брейкпоинт, мы можем добавлять в watch любые объекты что бы посмотреть их состояние. Вот мне в этот момент и надо добраться до них
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
28.02.2010, 07:30
Цитата Сообщение от Servantez Посмотреть сообщение
Я хочу во время дебага получить их, что бы работать с ними.
Если честно - все равно не понял.
Что значит "получить"?
А просмотреть любой объект в watch можно и стандартными средствами. Адрес, все поля в десятичном или шестнадцатеричном виде...
Или "работать" означает еще что-то?

Может, лучше конкретный пример, что требуется сделать?
0
 Аватар для Airhand
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
28.02.2010, 17:26
В студии, нельзя как в билдере, указать в вотч имя массива, чтобы посмотреть его переменные. Надо указывать какой конкретно элемент нужен. Что конкретно надо ?
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
28.02.2010, 17:32
Цитата Сообщение от Airhand Посмотреть сообщение
В студии, нельзя как в билдере, указать в вотч имя массива, чтобы посмотреть его переменные. Надо указывать какой конкретно элемент нужен.
А ты там, справа, на плюсик нажимать не пробовал? Возле имени массива в watch?
Спроси лучше, где учебник по Студии взять.
0
 Аватар для Airhand
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
28.02.2010, 17:38
В вижале нет просмотра для std::vector и никаких плюсов там тоже нет.
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
28.02.2010, 17:44
В VS есть просмотр std::vector, а для просмотра массивов по указателю на первый элемент надо указывать размер массива через запятую в самом watch (например myintptr,128).
Впрочем, это всё оффтоп и пустяки. Человек ясно сказал, что пишет add-in для самой студии. То есть, ему надо программно (а не глазами, мышой и пальцами) обращаться к содержимому watch и работать с ним. А результатом его работы будет средство, которое каким-то образом улучшает процесс отладки в VS. К сожалению, тут я помочь не могу, сам такими вещами не занимался.
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
28.02.2010, 18:04
Цитата Сообщение от Nick Alte Посмотреть сообщение
Человек ясно сказал, что пишет add-in для самой студии.
Судя по всему, человек просто работал с Борландом, и в Студии от Мелкомягких теряется.
И ищет повод сказать, что Студия - это плохо, а Борланд - хорошо.
Если долго-долго копать можно и найти что-то, чего делается в одной среде, но не делается в другой.
Но по большому счету - нет разницы. Отличия микроскопические, если умеешь пользоваться средой.
И не надо путать неприятие незнакомой среды с ее работоспособностью.
Это уже в раздел "холивар".
0
 Аватар для Airhand
537 / 459 / 3
Регистрация: 08.07.2009
Сообщений: 2,625
28.02.2010, 18:05
Nick_Alte
В какой версии ? В VS 2003 и 2005 точно нет.
0
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
28.02.2010, 18:52
У меня в VS 2005 std::vector показывается как массив.

Добавлено через 3 минуты
Цитата Сообщение от Patch Посмотреть сообщение
Судя по всему, человек просто работал с Борландом, и в Студии от Мелкомягких теряется.
И ищет повод сказать, что Студия - это плохо, а Борланд - хорошо.
Лично я не вижу в его словах оснований для такого вывода. Он прямым текстом сказал, чем занимается:
Я хочу во время дебага получить их, что бы работать с ними. Это будет Add-in для студии.
1
0 / 0 / 0
Регистрация: 21.05.2009
Сообщений: 5
28.02.2010, 19:46
Что бы уже точно всем было понятно что я не просто хо4у глазюками их увидеть, а как Nick Alte и написал, мне нужно во время того, как остановлена программа, на брейке проводить действия. Для понятности - например все поля выбранного мною объекта, да даже любого, например первого в списке, вывести в файл. И глазки тут не помогут, и уж учебничники то тоже(сугубо личное мнение)
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
01.03.2010, 00:05
Даже не знаю, что и сказать...
У меня все это работает, причем еще в Студии 6.0.
И даже "все поля выбранного мною объекта" при желании легко копируются в буфер стандартными средствами.
И вставляются примерно вот таким списком в любую табличную программу:
- ttt 0x0012fbe4
[0] 3435973836
[1] 3435973836
[2] 3435973836
[3] 3435973836
[4] 3435973836
[5] 3435973836
[6] 3435973836
[7] 3435973836
[8] 3435973836
Ощущение, что вы себе проблемы сами придумываете.
0
0 / 0 / 0
Регистрация: 27.02.2010
Сообщений: 5
01.03.2010, 09:11  [ТС]
Patch, если ты знаешь решение, подскажи пожалуйста. Без использования глаз только пожалуйста, т. е. программно.
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
01.03.2010, 09:34
Цитата Сообщение от Servantez Посмотреть сообщение
Patch, если ты знаешь решение, подскажи пожалуйста.
Решение есть всегда... но, как правило, овчинка выделки не стоит.
Это как попытка прикрутить велосипедные колеса к самолету - сделать можно, и работать будет, но ЗАЧЕМ??

Немного про сложности.
Среда отладчика - это вам не Far-менеждер, там не интерфейса Plug-in`ов. Чтобы сделать доработку среды, нужно, либо иметь готовые исходники, либо дезассемблить программу(что вообще-то нарушение авторских прав и жуткий геморрой), либо тем или иным способом делать хуки и встраивать обращения к данным...
Простейший способ - делать программу-оболочку, из под нее запускать Студию, и следить за появление в пространстве процесса окна с заголовком watch(или как оно там).
Элементы на окне Watch - обычные поля редактирования, из них можно считывать данные(и сохранять, если вам ЭТО надо), можно заменить их на поля собственной разработки, или вообще подменить обработчик самого корневого окна watch... и выводить туда что угодно.

Но, ей-богу, я пока не видел задачи, которая не решалась бы стандартными средствами отладчика, и логированием нужных переменных в отлаживаемой программе.
0
0 / 0 / 0
Регистрация: 27.02.2010
Сообщений: 5
01.03.2010, 17:53  [ТС]
Этой темы бы не возникло, если бы не 1 но - это моя курсовая. По большому счету я только делаю то что сказали и все. Спасибо и на этом варианте, буду дальше искать сидеть, и пробовать. Кстати не получится вариант просто в винде найти окто watch??? Оно ведь должно создаваться и иметь свой хэндл.
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
01.03.2010, 18:03
Servantez, Tutorial : Creating Visual Studio Add-Ins
Так же наверняка пригодится книга Smith L. Writing Add-Ins for Visual Studio .NET.
И еще одна ссылка: Extending the Visual Studio Environment. Там есть информация по поводу разработки Add-In'ов для MSVS.
1
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
01.03.2010, 19:09
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Tutorial : Creating Visual Studio Add-Ins
Жуть.
0
01.03.2010, 19:10

Не по теме:

Цитата Сообщение от Patch Посмотреть сообщение
Жуть. :)
Ага, чувствую гемморой у Servantez будет конкретный.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.03.2010, 19:10
Помогаю со студенческими работами здесь

Amf3 получение значений объектов
Люди, приветствую вас. пытаюсь получить информацию из потока данных amf3, набросал программку для десериализации данных (для примера беру...

Получение объектов из другого объекта
Привет! Возник вопрос как получить объект в анонимной функции? var objs = {};//all jquery objects objs.first.on('click', function(e)...

Получение количества движущихся объектов
Здравствуйте. Я ищу движущиеся объекты на видео с помощью AForge, после поиска я получаю массив прямоугольников после обработки каждого...

Spring boot получение объектов из БД
Сразу оговорюсь что все мои вопросы могут звучать не совсем корректно, ввиду моей малой работы с вебом. Вообщем делаю аппку на Spring boot....

Получение объектов в restful-приложении
Здравствуйте. Помогите, пожалуйста, решить проблему. Пишу resful приложение. Из главного приложения возвращаю список объектов ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru