Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.12.29;
Скачать: CL | DM;

Вниз

Не работает отладка   Найти похожие ветки 

 
__meat__ ©   (2013-03-07 01:50) [0]

Принцип проги такой что загружаются 2 библиотеки через Import a type library и в последствии к ним адресуются запросы, ну это не так важно. Проблема в следующем. Программа компилируется нормально, без ошибок, но как только консоль появляется то сразу же закрывается. Как я понял до кода дело вообще не доходит, в стеке вызовов только  "process is not accessible". Что делать?)
З.Ы. платформа Delphi 2009 от Rad Studio.


 
Германн ©   (2013-03-07 02:31) [1]


> Что делать?

Использовать все возможности представляемые отладчиком.


 
__meat__ ©   (2013-03-07 03:41) [2]


> Использовать все возможности представляемые отладчиком.


А поконкретнее? Ну трассировку я пробовал  и так и эдак, опять таки код сам правильный должен быть, может в самом делфи че-то не доделал я.


 
Германн ©   (2013-03-07 03:53) [3]


> А поконкретнее? Ну трассировку я пробовал  и так и эдак

Вот тут как раз более разумно будет привести сам код и рассказать как в отладке этого кода использовался отладчик.
Ну а заодно и рассказать как в "стеке вызовов" появилось "process is not accessible" :)


 
__meat__ ©   (2013-03-07 08:03) [4]

Вот сам код:
uses
 SysUtils,
 ActiveX,
 LEMMATIZERLib_TLB in "..\..\Documents\RAD Studio\6.0\Imports\LEMMATIZERLib_TLB.pas",
 AGRAMTABLib_TLB in "..\..\Documents\RAD Studio\6.0\Imports\AGRAMTABLib_TLB.pas";

procedure TestRusLemmatizer(word : string);
var  RusLemmatizer : ILemmatizer;
    ParadigmCollection : IParadigmCollection;
    Paradigm : IParadigm;
    RusGramTab :    IGramTab;
    OneAncode, SrcAncodes : string;
    i,j,n : integer;

begin

   // loading morphological dicitonary
   RusLemmatizer := CoLemmatizerRussian.Create;
   if  (RusLemmatizer = nil) then
   begin
       writeln("cannot load lemmatizer");
       halt(1);
   end;
   RusLemmatizer.LoadDictionariesRegistry();
   // loading table of gram-codes
   RusGramTab := CoRusGramTab.Create;
   if  (RusGramTab = nil) then
   begin
       writeln("cannot load table for grammatical codes");
       halt(1);
   end;
   RusGramTab.Load;

   word:="мыла";

   ParadigmCollection := RusLemmatizer.CreateParadigmCollectionFromForm(word, 1, 1);
   n:=ParadigmCollection.Count;
   if (ParadigmCollection.Count = 0) then
   begin
       writeln("not found");
       exit;
   end;
   writeln("характеристики слова "",word, "":");
   for j:=0 to ParadigmCollection.Count-1 do
     begin
       Paradigm := ParadigmCollection.Item[j];
       writeln(" {");
       writeln("   лемма = ",Paradigm.Norm);
       writeln("   Id = ",Paradigm.ParadigmID);
       write("   граммемы = ");
       i:=1;
       SrcAncodes := Paradigm.SrcAncode;
       while  i < Length(SrcAncodes) do
       begin
           OneAncode := Copy(SrcAncodes,i,2);
           write(RusGramTab.GetPartOfSpeechStr( RusGramTab.GetPartOfSpeech(OneAncode) ));
           write(" ");
           write(RusGramTab.GrammemsToStr( RusGramTab.GetGrammems(OneAncode) ));
           write("; ");
           inc (i, 2);
       end;
       writeln;
       writeln(" }");
     end;
end;

var   hr :  HRESULT;
begin
try
   hr := CoInitialize(nil);
   if (hr <> S_OK) then
   begin
       writeln("cannot load Component Object Model(COM) library");
       halt(1);
   end;
   TestRusLemmatizer("стать");
   CoUninitialize();
except
   writeln("an exception occurred!");
end;


>
> как в "стеке вызовов" появилось "process is not accessible"
>


после первого же запуска и появилось.


 
__meat__ ©   (2013-03-07 08:09) [5]

Могу еще event  log привести.

Thread Start: Thread ID: 15796. Process Project1.exe (12656)
Process Start: C:\Users\Roma\Desktop\МА2\Project1.exe. Base Address: $00400000. Process Project1.exe (12656)
Module Load: Project1.exe. Has Debug Info. Base Address: $00400000. Process Project1.exe (12656)
Module Load: ntdll.dll. No Debug Info. Base Address: $77560000. Process Project1.exe (12656)
Module Load: KERNEL32.dll. No Debug Info. Base Address: $75420000. Process Project1.exe (12656)
Module Load: KERNELBASE.dll. No Debug Info. Base Address: $76650000. Process Project1.exe (12656)
Module Load: OLEAUT32.dll. No Debug Info. Base Address: $74CA0000. Process Project1.exe (12656)
Module Load: ole32.dll. No Debug Info. Base Address: $750F0000. Process Project1.exe (12656)
Module Load: msvcrt.dll. No Debug Info. Base Address: $74F20000. Process Project1.exe (12656)
Module Load: GDI32.dll. No Debug Info. Base Address: $752B0000. Process Project1.exe (12656)
Module Load: USER32.dll. No Debug Info. Base Address: $74D80000. Process Project1.exe (12656)
Module Load: ADVAPI32.dll. No Debug Info. Base Address: $74E80000. Process Project1.exe (12656)
Module Load: SECHOST.dll. No Debug Info. Base Address: $75530000. Process Project1.exe (12656)
Module Load: RPCRT4.dll. No Debug Info. Base Address: $76A50000. Process Project1.exe (12656)
Module Load: SspiCli.dll. No Debug Info. Base Address: $74C40000. Process Project1.exe (12656)
Module Load: CRYPTBASE.dll. No Debug Info. Base Address: $74C30000. Process Project1.exe (12656)
Module Load: LPK.dll. No Debug Info. Base Address: $75340000. Process Project1.exe (12656)
Module Load: USP10.dll. No Debug Info. Base Address: $76370000. Process Project1.exe (12656)
Module Load: MSIMG32.dll. No Debug Info. Base Address: $72010000. Process Project1.exe (12656)
Module Load: VERSION.dll. No Debug Info. Base Address: $71B80000. Process Project1.exe (12656)
Module Load: COMCTL32.dll. No Debug Info. Base Address: $731B0000. Process Project1.exe (12656)
Module Load: IMM32.dll. No Debug Info. Base Address: $766A0000. Process Project1.exe (12656)
Module Load: MSCTF.dll. No Debug Info. Base Address: $768C0000. Process Project1.exe (12656)
Module Load: nvinit.dll. No Debug Info. Base Address: $71D20000. Process Project1.exe (12656)
Module Load: detoured.dll. No Debug Info. Base Address: $0F000000. Process Project1.exe (12656)
Module Load: nvd3d9wrap.dll. No Debug Info. Base Address: $727A0000. Process Project1.exe (12656)
Module Load: SETUPAPI.dll. No Debug Info. Base Address: $75580000. Process Project1.exe (12656)
Module Load: CFGMGR32.dll. No Debug Info. Base Address: $76B40000. Process Project1.exe (12656)
Module Load: DEVOBJ.dll. No Debug Info. Base Address: $75550000. Process Project1.exe (12656)
Module Load: nvdxgiwrap.dll. No Debug Info. Base Address: $72760000. Process Project1.exe (12656)
Module Load: VKSaver3.dll. No Debug Info. Base Address: $71D00000. Process Project1.exe (12656)
Module Load: UxTheme.dll. No Debug Info. Base Address: $726B0000. Process Project1.exe (12656)
Module Load: saHook.dll. No Debug Info. Base Address: $675F0000. Process Project1.exe (12656)
Module Load: AnvirHook.dll. No Debug Info. Base Address: $10000000. Process Project1.exe (12656)
Module Load: SHELL32.dll. No Debug Info. Base Address: $75720000. Process Project1.exe (12656)

как видите, никаких следов работы кода:(


 
Ega23 ©   (2013-03-07 08:36) [6]

Серверы-то зарегистрированы?


 
__meat__ ©   (2013-03-07 08:44) [7]

Какие серверы?


 
Ega23 ©   (2013-03-07 09:17) [8]


> Какие серверы?

СОМ-серверы. В которых твои парадигмы, леммы и грамматики сидят.


 
__meat__ ©   (2013-03-07 16:14) [9]


> СОМ-серверы. В которых твои парадигмы, леммы и грамматики
> сидят.


А хз, может и зарегистрированы, а где это делается?


 
Игорь Шевченко ©   (2013-03-07 16:56) [10]

F7


 
__meat__ ©   (2013-03-07 18:09) [11]


> F7


причем тут F7, это ж трассировка?


 
Rouse_ ©   (2013-03-07 18:22) [12]


> загружаются 2 библиотеки через Import a type library

библиотеки твои? Все выглядит как работа проактивки, либо защиты со стороны подгружаемых библиотек детектирующих отладчик.


 
__meat__ ©   (2013-03-07 19:18) [13]


> библиотеки твои?
>


Ну да, мои.
и как обойти эту защиту?


 
Rouse_ ©   (2013-03-07 19:44) [14]

Если твои - то защиты по логике быть не должно, иначе ты о ней бы знал.
Отключи ка антивирус - может он срывает процесс.


 
__meat__ ©   (2013-03-07 20:07) [15]


> Отключи ка антивирус - может он срывает процесс.


Отключил - не помогло, все так же.


 
__meat__ ©   (2013-03-07 20:12) [16]


> Если твои - то защиты по логике быть не должно, иначе ты о ней бы знал.


Ну как мои) я их сам не создавал уж. Это два dll файла одной установленной заранее программы, в папке bin которые.


 
Rouse_ ©   (2013-03-07 20:20) [17]


> __meat__ ©   (07.03.13 20:12) [16]

Ага, это уже другой коленкор.
Если запустить твою консоль без отладчика - работает?


 
__meat__ ©   (2013-03-07 20:37) [18]

В принципе так же: консоль запускается и закрывается, но в этом случае это происходит в разы быстрее. Если при F9 там хоть можно успеть увидеть что консоль пустая, то без отладчика вообще за считанные милисекунды происходит. И  event log кстати в таком случае пустой.


 
Rouse_ ©   (2013-03-07 20:44) [19]

Значит библиотекам что-то не хватает (имхо).


 
__meat__ ©   (2013-03-08 02:10) [20]

Методом тыка поймал таки. Закомментировал оператор halt в последнем цикле и.. все что должно было выйти на консоль вышло. И само сообщение "cannot load Component Object Model(COM) library" и результаты выполнения программы. Правда из за проблем с юникодом каракули отобразились вместо кириллицы. Но все же непонятно, зачем этот halt там нужен был...


 
Германн ©   (2013-03-08 02:19) [21]


> Методом тыка поймал таки. Закомментировал оператор halt
> в последнем цикле и.. все что должно было выйти на консоль
> вышло. И само сообщение "cannot load Component Object Model(COM)
> library" и результаты выполнения программы. Правда из за
> проблем с юникодом каракули отобразились вместо кириллицы.
>  Но все же непонятно, зачем этот halt там нужен был

http://www.gunsmoker.ru/2010/05/90.html
(c)



Страницы: 1 вся ветка

Текущий архив: 2013.12.29;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.011 c
15-1373473424
картман
2013-07-10 20:23
2013.12.29
куда пойти учиться


15-1373574603
Юрий
2013-07-12 00:30
2013.12.29
С днем рождения ! 12 июля 2013 пятница


2-1362198906
ixen
2013-03-02 08:35
2013.12.29
Вопрос про Ribbon от DevExpress


15-1373802593
картман
2013-07-14 15:49
2013.12.29
самообучение


2-1362606625
__meat__
2013-03-07 01:50
2013.12.29
Не работает отладка