Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отладка исходников dll в C++ Builder 
:(
    Опции темы
CyraxZ
Дата 14.12.2006, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 10.12.2006

Репутация: нет
Всего: нет



При компиляции программы в режиме debug на каждый cpp получаем свой obj-файл с дебажной информацией для своего cpp-файла, после линковки - exe-ник с дебажной информацией (перекочевавшей из obj-ков) для всех cpp-файлов. Для отладки программы требуется только cpp-ники и exe-ник.

В случае с dll ситуация иная. Рассматриваем неявное подключение dll.
При компиляции dll-ки (режим debug) получаем объектники для всех cpp-ников с дебажной информацией. Далее после линковки получаем dll'ку, но без дебажной информации относительно cpp-ников (как в случае с exe-никами). Куда кочует дебажная информация из obj-файлов ? - в tds-файл.
Т.е. в случае с dll (неявное подключение) для компиляции программы, использующей эту dll, необходимы только h-файлы библиотеки и библиотека импорта .lib, а для отладки этой программы - только cpp-ники библиотеки, dll'ка и tds-файл (где как раз и находится дебажная информация для cpp-ников).

Вопрос: чтойтокой tds ?
В хелпе Builder'а этот тип файла не описан. Или это что-то виндовое ?
PM MAIL   Вверх
EEEEEE
Дата 15.12.2006, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 15.5.2006

Репутация: нет
Всего: нет



Может поможет...

В Helpe BDS 2006:

"Symbol tables are used internally during debugging. By default, Developer Studio 2006 locates and uses all symbol tables available. However, you can control the order in which these symbol tables are searched. You can also limit the search to specific symbol tables, which can speed up the debugging process.
 
The extensions for symbol table files vary by personality.
 
Delphi Win32, does not use external symbol files because the compiler holds the symbols tables in memory. However, if you are debugging a remote application, you must generate symbol files with the .RSM extension. 
Delphi.NET, VB.NET and C# symbol files use the .PDB extension. 
C++ symbol files use the .TDS extension. However, if debug information is contained in the PE file, external symbol tables are not used. 
"

"Executable files and symbol files must be copied to the remote machine after they are compiled. You must set the correct options on your local machine in order to generate these files.
 
To prepare files for debugging on a remote machine
 
Open the project on your local machine. 
Choose ProjectOptionsLinker and verify that the Include remote debug symbols option is checked. 
This directs the compiler to generate a symbol file. The following extensions are used in symbol files (for Delphi projects): Language Debug symbol file extension 

Delphi for Win32  .rsm
 
Delphi for .NET      .rsm and .pdb
 
C++       .tds
 
C#  .pdb"


"Overview of Remote Debugging
 
Remote debugging enables you to debug one or more applications on a remote machine when the IDE is running only on your local machine. This allows debugging on a machine where it is impractical to install the entire IDE and rebuild a project. Remote debugging is useful for applications that run differently on your local machine than on an end user's machine.
 
The Remote Debugger Executable 
The remote debugger executable is named rmtdbg100.exe. The executable and its supporting files must be present on the remote machine. The easiest way to install the executable is directly from the Developer Studio 2006 installation disk. However, if the installation disk is not available, you can copy the required files from a machine that has the full Developer Studio 2006 IDE installed.
 
Local and Remote Files 
Three types of files are involved in remote debugging: 
Source files 
Executable files 
Symbol files 
 
Source files are compiled using the IDE on the local machine. The executable files and symbol files produced after compilation must be copied to the remote machine. 
Source Files 
When you debug a project on a remote machine, the source files for the project must be open on the local machine. The source files display in the editor window to show a program's current execution point. You do not use source files on the remote machine.
 
Executable Files 
Executable files are the .dll files and .exe files that are mapped into the application's address space. You generate these files on the local machine, then copy them to the remote machine.
 
Symbol Files 



Symbol files are generated on the local machine at compile time. These are used by the debugger to get information such as the mapping of machine instructions to source line numbers or the names and types of variables declared in the source files. The extension for the symbol files depends on the language, as shown in the following table:
 Language Debug symbol file extension 
Delphi for Win32
 .rsm
 
Delphi for .NET
 .rsm and .pdb
 
C++
 .tds
 
C#
 .pdb
 

You must set up specific options to generate symbol files on the local machine, then copy the files to the remote machine."
PM MAIL   Вверх
vivat
Дата 15.12.2006, 05:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 6.4.2006
Где: Томск

Репутация: 2
Всего: 2



Не совсем понял смысла вопроса... Нужна информация о структурах файлов или хотелось бы знать как отлаживать DLL? Если второе, то для отладки DLL надо использовать: Run->Parameters->Host Application->OK
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0549 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.