Дебагинг dll в MS Visual Studio

Тема в разделе "WASM.BEGINNERS", создана пользователем AntiB, 26 июн 2009.

  1. AntiB

    AntiB New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2007
    Сообщения:
    393
    Доброе время сутки, у меня небольшой вопрос:
    Как в студии можно дебажить длл ? так как я читал, нужно писать приложение которое запустить эту длл и прописать путь к этой программе в Configuration Properties -> Debugging -> Command, пробовал написать что-то типа этого (приложение):
    Код (Text):
    1. int _tmain(int argc, _TCHAR* argv[])
    2. {
    3.     if (argc > 0)
    4.         LoadLibrary( argv[0] );
    5.  
    6.     return 0;
    7. }
    брейкпоинты не срабатывают... почему?

    Заранее всем спасибо!
     
  2. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    После сборки ДЛЛ просто нажимаешь "Run" и появится диалог: "Executable For Debug Session". Из Combo Box выбираем "Browse..." и далее выбираем EXE файл, код которого приведен в твоём сообщении. Единственное, непонятно как задать путь на ДЛЛ. Попробуй через BAT файл.
     
  3. AntiB

    AntiB New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2007
    Сообщения:
    393
    Я так и делал (запись в Configuration Properties -> Debugging -> Command происходит когда выберешь программу из Combo Box).

    Мне вот тоже наиболее не понятно - как путь к dll задать...
     
  4. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    а в argv[0] приходит полный путь к DLL ?
    BP должен срабатывать, проверь, что-то упустил скорее всего..
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    argv[1]
     
  6. AntiB

    AntiB New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2007
    Сообщения:
    393
    Все спасибо, особенно: n0name

    Может кому понадобиться:
    Код (Text):
    1. #include <windows.h>
    2. #include <stdio.h>
    3.  
    4. int main(int argc, char* argv[])
    5. {
    6.     if (argc > 1) {
    7.         printf( argv[1] );
    8.         getchar();
    9.  
    10.         LoadLibraryA( argv[1] );
    11.     }
    12.  
    13.     return 0;
    14. }
    и в настройках проекта:
    Configuration Properties -> Debugging -> Command Arguments, нужно указать путь к dll
     
  7. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    )))))))))))))