![]() |
|
|
![]()
|
|
| CyraxZ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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'а этот тип файла не описан. Или это что-то виндовое ? |
|||
|
||||
| EEEEEE |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 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." |
|||
|
||||
| vivat |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 6.4.2006 Где: Томск Репутация: 2 Всего: 2 |
Не совсем понял смысла вопроса... Нужна информация о структурах файлов или хотелось бы знать как отлаживать DLL? Если второе, то для отладки DLL надо использовать: Run->Parameters->Host Application->OK
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |