Hi, I'm actually using DRIO to monitor and log process behaviour (in term of system calls issued). My goal is to retrieve a syscall log with my client WHILE the monitored process is running. For instance I tried to attach my client by doingddrun.exe -attach <PID> -c <myclient.dll>but it keeps crashing, sometimes it gives me an error msg which states only "program aborted". I know that's an experimental features, etc
I was wondering if there is a way to start a process with DRIO without having it closed immediately after the command is done. I'm able to monitor CLI applications because before I start drrun.exe I'm able to pass some parameters (for example I'm able to monitor cmd.exe because I can pass arguments to it, but what about chrome browser? How can I monitor chrome without passing any argument via CLI?)If I go
drrun.exe -c <myclient.dll> -- <path\to\chrome.exe>
the command simply returns, chrome opens and closes immediately.
Thank you.--
You received this message because you are subscribed to the Google Groups "DynamoRIO Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dynamorio-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dynamorio-users/d64deb27-0a9a-4d4b-bea3-8dc8f27fdb12n%40googlegroups.com.
I would suggest helping to diagnose the problem(s): what are the Windows and DR versions? Does attach work with no client on a tiny application? What is the smallest application and client combination where it fails? Do the -takeover_sleep or -takeovers parameters help? Are there useful messages in debug build? What is the precise crash message? It may be worth putting this into the Windows attach issue https://github.com/DynamoRIO/dynamorio/issues/725.
Do you already have chrome running somewhere? A new launch will notice the already-running instance and will exit, which is probably what is happening here. To start a new instance you need to point at a different profile; something like --user-data-dir. This is all chrome-specific: please look up chrome docs. It is unrelated to DR.
Do you already have chrome running somewhere? A new launch will notice the already-running instance and will exit, which is probably what is happening here. To start a new instance you need to point at a different profile; something like --user-data-dir. This is all chrome-specific: please look up chrome docs. It is unrelated to DR.
Are you sure there was no error?
Could you check the logfiles (https://dynamorio.org/page_logging.html)? Also make sure that op_verbose_level (https://github.com/DynamoRIO/drmemory/blob/3ad8c8856254fa86d5bb2161678e23533b74cf5b/drmemory/frontend.c#L999) is set to highest (using "-vvv"), which I think decides the verbosity of the LOGs in drsyscall.
Could you also try running a different application where we can more easily identify an abnormal exit? E.g. some app that is supposed to produce some visible command-line output.
--
You received this message because you are subscribed to the Google Groups "DynamoRIO Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dynamorio-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dynamorio-users/9202c3a2-d0d1-43be-a34f-967f565bca19n%40googlegroups.com.
1) Try something else that uses drsyscall, like drstrace. Does it work on notepad on your platform.
2) What is the exit code: is it indicating any error.
3) Use either the logfiles or a debugger to observe how the application is exiting and try to see what is triggering a regular but premature exit.
4) If somehow the drsyscall events are causing a premature exit, try disabling each piece of dryscall to zero in on what is causing this.
It may be worth specifying that my client is "written" with dynamorio and not with drmemory. I import dr_syscall.h to use it in my client, I don't know if it's a meaningful info.Here's my cmake:add_library(systracer SHARED systracer.c)
find_package(DynamoRIO)
find_package(DrMemoryFramework)
if (NOT DynamoRIO_FOUND)
message(FATAL_ERROR "DynamoRIO package
required to build")
endif(NOT DynamoRIO_FOUND)
configure_DynamoRIO_client(systracer)
use_DynamoRIO_extension(systracer drsyscall)
use_DynamoRIO_extension(systracer drmgr)
use_DynamoRIO_extension(systracer drwrap)
#use_DynamoRIO_extension(dbitool drreg)
#use_DynamoRIO_extension(dbitool drx)
#use_DynamoRIO_extension(dbitool drutil)
#use_DynamoRIO_extension(dbitool drwrap)
1) Try something else that uses drsyscall, like drstrace. Does it work on notepad on your platform.drstrace works
2) What is the exit code: is it indicating any error.DRIO's exit code? Where can I check this?
3) Use either the logfiles or a debugger to observe how the application is exiting and try to see what is triggering a regular but premature exit.What should I look for inside the logs? Like I said before the logs generated by a single execution are several and a couple of them are huge. I did not notice anything useful.
4) If somehow the drsyscall events are causing a premature exit, try disabling each piece of dryscall to zero in on what is causing this.I use drsyscall ONLY to retrieve syscall numbers and names, If I could do this without using dr_syscall I would replace it in zero-time because this bug is giving me headaches since thursday :((If I comment out every piece of drsyscall-related code everything works fine.It may be worth specifying that my client is "written" with dynamorio and not with drmemory. I import dr_syscall.h to use it in my client, I don't know if it's a meaningful info.Here's my cmake:add_library(systracer SHARED systracer.c)
find_package(DynamoRIO)
find_package(DrMemoryFramework)
if (NOT DynamoRIO_FOUND)
message(FATAL_ERROR "DynamoRIO package
required to build")
endif(NOT DynamoRIO_FOUND)
configure_DynamoRIO_client(systracer)
use_DynamoRIO_extension(systracer drsyscall)
use_DynamoRIO_extension(systracer drmgr)
use_DynamoRIO_extension(systracer drwrap)
#use_DynamoRIO_extension(dbitool drreg)
#use_DynamoRIO_extension(dbitool drx)
#use_DynamoRIO_extension(dbitool drutil)
#use_DynamoRIO_extension(dbitool drwrap)Is everything fine with what has been said here?Thank you.
--
You received this message because you are subscribed to the Google Groups "DynamoRIO Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dynamorio-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dynamorio-users/8343c06d-ff2a-471b-bca4-b917786ac873n%40googlegroups.com.
If drstrace works with drsyscall but your client does not, you now have two points and can search between them to find the reason for failure.