SQLRU.net
Разработка приложений баз данных

Начало » Программирование » Delphi » Найти реализацию метода
Найти реализацию метода [сообщение #405] Tue, 30 August 2022 08:39 Переход к следующему сообщению
Квази в настоящее время не в онлайне  Квази
Сообщений: 32
Зарегистрирован: June 2022
Member
Есть древний большой проект (D10 Tokyo), куча библиотек, интерфейсов и т.д. При вызове одного метода возникает исключение, но найти реализацию метода не могу - Ctrl+shift переходит на объявление метода в интерфейсе. Также не могу перейти в этот метод в отладчике - F7 переходит в отладку FastMM.
Re: Найти реализацию метода [сообщение #406 является ответом на сообщение #405] Tue, 30 August 2022 12:04 Переход к предыдущему сообщениюПереход к следующему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 290
Зарегистрирован: June 2022
Senior Member
Ну а если поиском просто по имени метода?
Хотя его реализации может и не быть, если метод из какой-то библиотеки.
Re: Найти реализацию метода [сообщение #408 является ответом на сообщение #406] Tue, 30 August 2022 16:25 Переход к предыдущему сообщениюПереход к следующему сообщению
Квази в настоящее время не в онлайне  Квази
Сообщений: 32
Зарегистрирован: June 2022
Member
BlackEric писал(а) Tue, 30 August 2022 12:04
Ну а если поиском просто по имени метода?
Хотя его реализации может и не быть, если метод из какой-то библиотеки.
их там куча (одноименных методов). Везде повтыкал BP, но не помогло.
Re: Найти реализацию метода [сообщение #409 является ответом на сообщение #405] Tue, 30 August 2022 18:11 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 339
Зарегистрирован: August 2022
Senior Member
Квази писал(а) Tue, 30 August 2022 07:39
При вызове одного метода возникает исключение, но найти реализацию метода не могу - Ctrl+shift переходит на объявление метода в интерфейсе. Также не могу перейти в этот метод в отладчике - F7 переходит в отладку FastMM.
При возникновении исключения среда сама покажет тебе место, где оно возникает, если ты не отключил соответствующую галочку. Понять как управление туда попало - Debug -> Call Stack.
Re: Найти реализацию метода [сообщение #413 является ответом на сообщение #405] Wed, 31 August 2022 10:18 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 311
Зарегистрирован: August 2022
Senior Member
Квази писал(а) Tue, 30 August 2022 08:39
Также не могу перейти в этот метод в отладчике - F7 переходит в отладку FastMM.
Перед вызовом метода перейти в дизассемблер (view cpu, iirc), шагать вплоть до CALL, потом вернуться к исходному коду, если удастся.
Скорее всего модуль с реализацией интерфейса не содержит отладочной инф-ции. Или указатель на метод крив.
Кстати, какое исключение возникает ?
Re: Найти реализацию метода [сообщение #436 является ответом на сообщение #413] Fri, 02 September 2022 04:40 Переход к предыдущему сообщениюПереход к следующему сообщению
Квази в настоящее время не в онлайне  Квази
Сообщений: 32
Зарегистрирован: June 2022
Member
hvlad писал(а) Wed, 31 August 2022 10:18
Квази писал(а) Tue, 30 August 2022 08:39
Также не могу перейти в этот метод в отладчике - F7 переходит в отладку FastMM.
Перед вызовом метода перейти в дизассемблер (view cpu, iirc), шагать вплоть до CALL, потом вернуться к исходному коду, если удастся.
Скорее всего модуль с реализацией интерфейса не содержит отладочной инф-ции. Или указатель на метод крив.
Кстати, какое исключение возникает ?
в модуле с реализацией обрабатывается XML и вылетает исключение "для документа с XML должен существовать документ более высокого уровня"
Re: Найти реализацию метода [сообщение #453 является ответом на сообщение #405] Mon, 05 September 2022 10:59 Переход к предыдущему сообщениюПереход к следующему сообщению
МорскойДесант в настоящее время не в онлайне  МорскойДесант
Сообщений: 195
Зарегистрирован: September 2022
Senior Member
Квази писал(а) Tue, 30 August 2022 08:39
Есть древний большой проект (D10 Tokyo), куча библиотек, интерфейсов и т.д. При вызове одного метода возникает исключение, но найти реализацию метода не могу - Ctrl+shift переходит на объявление метода в интерфейсе. Также не могу перейти в этот метод в отладчике - F7 переходит в отладку FastMM.

Ну, посмотри стек вызовов: Ctrl+Alt+S.

Re: Найти реализацию метода [сообщение #465 является ответом на сообщение #453] Mon, 05 September 2022 15:57 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 794
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
имхо, в наличии сторонняя библиотека скомпиленная без отладочной информации.
возможно и без исподников.
Re: Найти реализацию метода [сообщение #499 является ответом на сообщение #465] Tue, 06 September 2022 17:37 Переход к предыдущему сообщениюПереход к следующему сообщению
Квази в настоящее время не в онлайне  Квази
Сообщений: 32
Зарегистрирован: June 2022
Member
МП писал(а) Mon, 05 September 2022 15:57
имхо, в наличии сторонняя библиотека скомпиленная без отладочной информации.
возможно и без исподников.
можно ли определить, что за библиотека?
Re: Найти реализацию метода [сообщение #513 является ответом на сообщение #499] Wed, 07 September 2022 11:46 Переход к предыдущему сообщению
BlackEric в настоящее время не в онлайне  BlackEric
Сообщений: 290
Зарегистрирован: June 2022
Senior Member
Ну конечно можно:
1. Поиском по названию по всем файлам проекта.
2. Смотреть через API монитор что он загружает и вызывает.
Следующая тема: Стили и иконки в меню Delphi
Переход к форуму:
  


Текущее время: Thu Apr 18 08:22:29 GMT+3 2024

Общее время, затраченное на создание страницы: 0.01334 секунд