2015-12-01 2 views
3

У меня есть приложение, которое использует некоторый последовательный порт и выполняет некоторые системные вызовы, например EscapeCommFunction, и я хочу его отладить. В принципе, я хочу, чтобы я ближе к strace на linux. Я обнаружил, что лучшим кандидатом является logger.exe, но я не могу понять, как его использовать.Использование logger.exe для sniff системных вызовов

Я попытался назвать

logger.exe <application> <arg1> <arg2> <arg3> 

И попробовал все комбинации, которые сделали для меня смысл в диалоге, который появился. Результат всегда был один и тот же: программа завершилась успешно, и никаких результатов в окне Logger или каких-либо файлов журналов не было создано даже после закрытия регистратора.

+0

Пробовал это уже? http://superuser.com/questions/343942/how-can-i-monitor-a-virtual-serial-port-in-windows-7 – Marged

+1

http://www.rohitab.com/apimonitor –

ответ

4

Я согласен с @Alex K. и предлагаю API Monitor.

Просто используйте значок spyglass, чтобы найти способ (ы), который вы хотите контролировать, и добавить к ним галочку.

API Monitor for EscapeCommFunction

Затем либо выбрать процесс на вкладке «Запуск процессов» или контролировать новый процесс (монитор API начнет его для вас).

Обратите внимание, что монитор API существует в двух версиях: x86 и x64, и вы должны выбрать правильную битность для приложения, которое вы хотите контролировать.

Вы также можете установить контрольную точку для метода, который вызовет INT3 в целевом потоке. Появится «необработанный диалог исключения», и вы можете выбрать отладчик (Visual Studio в моем случае).

API Monitor set breakpoint

Что касается запроса Chrome: Я тестировал с Serial Monitor как приложение, режим разработчика включен, проверяющего demo.html. Я понял правильный процесс, используя курсор перекрестия Process Explorer. Затем я создал фрагмент, предложенный вами

chrome.serial.connect("COM1", { 
    bitrate: 9200 
}, function(i) { 
    chrome.serial.setControlSignals(i.connectionId, { 
     dtr: false 
    }, function() { 
     console.log("done"); 
    }); 
}); 

и запустил его.Это результат: Файл журнала

Monitor serial port in Chrome

+0

Это работало для тест бинарный, но он не работал с хром. Попробуйте: отслеживать любой подпроцесс chrome создает, открывать приложение, имеющее разрешения для последовательного и 'chrome.serial.connect (« COM1 », {bitrate: 9200}, function (i) {chrome.serial.setControlSignals (i.connectionId , {dtr: false}, function() {console.log ("done");});}); 'Вы должны видеть' EscapeCommFunction' в одном из процессов на мониторе, но там их нет ... [proof] (https://code.google.com/p/chromium/codesearch#chromium/src/device/serial/serial_io_handler_win.cc&l=485), что это фактический вызов. Есть идеи? – fakedrake

+0

@ fakedrake: см. Мой обновленный ответ –

+0

ничего себе, я, должно быть, что-то пропустил. Огромное спасибо! – fakedrake

1

всегда создается в logexts subdir настольных not alterable

C:\Documents and Settings\Admin\Desktop>DIR /S /B LOGE* 
File Not Found 

выполнять регистратор

C:\Documents and Settings\Admin\Desktop>LOGGER CALC.EXE 
  1. раз окно регистратор открыт
  2. выберите APIs, которые требуются в левой панели и нажмите кнопку включить радио
  3. по умолчанию ничего не выбрано, и ничего не будет зарегистрировано
  4. файл LGV создан не будет содержать ничего, чтобы показать
  5. вам нужно выберите апи и включать их для регистрации
  6. вы можете написать свой собственный файл манифеста для специализированного loggging
  7. после сеанса закончен закрыть logger.exe вы будете иметь LGV файл
  8. Вы не можете открыть этот файл в LGV logviewer.exe используя файл -> открыть не вариант командной строки

подкаталог создан для сессии

C:\Documents and Settings\Admin\Desktop>DIR /S /B LOGE* 
C:\Documents and Settings\Admin\Desktop\LogExts 

навигации в подкаталог и демпинг реж структура

C:\Documents and Settings\Admin\Desktop>CD LogExts 

C:\Documents and Settings\Admin\Desktop\LogExts>ls -la 
total 32 
drwxr-xr-x 4 Admin Administ  0 Dec 2 10:31 . 
drwxr-xr-x 1 Admin Administ  0 Dec 2 10:31 .. 
-rw-r--r-- 1 Admin Administ 64304 Dec 2 10:33 CALC.EXE.lgv <--- 
-rw-r--r-- 1 Admin Administ  0 Dec 2 10:31 CALC.EXE.txt 

открытие logviewr, чтобы просмотреть файл LGV C: \ Documents и Settings \ Admin \ Рабочий стол \ LogExts> LogViewer

снимок экрана АФИ вошли и статистика создания ИПН вошли путь к файлу уведомления в заголовке окна
enter image description here

Смежные вопросы