Open xooiamd opened 5 years ago
This is likely because you are trying to trace a game meant to run underneath steam. The process start-up flow for Steam is not standard. (Executable closes, runs steam, steam then opens the executable etc).
You can double-check this with process explorer. If you just run DOOMx64vk.exe
I expect in process explorer it will show up underneath steam.exe
Re-opening this: GAPID should display a proper warning to explain that it does not support Steam executables, because of the Steam-specific process start-up.
@xooiamd are you able to get a Doom executable which does not trigger a Steam start-up?
I am not able to find a Doom executable that does not trigger Steam process.
I will investigate an environment variable to help work around this issue.
Hi, thanks for the fix. I have tried capture Doom and it works! However, when I tried capture StrangeBrigade game, clicking on the game executable directly will have Steam.exe -> StrangeBrigade.exe -> StrangeBrigade_Vulkan.exe, it has failed with
_"Tracing Failed Cause: read tcp 127.0.0.1:57296->127.0.0.1:9286: wsarecv: An existing connection was forcibly closed by the remote host." GAPID Version: 1.7.0:d0001f7651ef7085d7079a184b472c36dec08d7f OS: windows 10 amd64
com.google.gapid.server.Client$InternalServerErrorException: Tracing Failed Cause: read tcp 127.0.0.1:57296->127.0.0.1:9286: wsarecv: An existing connection was forcibly closed by the remote host. at com.google.gapid.server.Client.throwIfError(Client.java:312) at com.google.gapid.server.Client.lambda$streamTrace$52(Client.java:286) at com.google.gapid.server.GapidClientGrpc$StreamHandler.onNext(GapidClientGrpc.java:224) at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onMessage(ClientCalls.java:421) at io.grpc.ForwardingClientCallListener.onMessage(ForwardingClientCallListener.java:33) at io.grpc.ForwardingClientCallListener.onMessage(ForwardingClientCallListener.java:33) at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:519) at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)Caused by: com.google.gapid.server.Client$Stack: For request: RPC->streamTrace() at com.google.gapid.server.Client.streamTrace(Client.java:283) at com.google.gapid.server.Tracer.trace(Tracer.java:41) at com.google.gapid.views.TracerDialog.showTracingDialog(TracerDialog.java:149) at com.google.gapid.LoadingScreen.lambda$createOptions$0(LoadingScreen.java:114) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4145) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079) at org.eclipse.swt.widgets.Widget.sendSelectionEvent(Widget.java:1096) at org.eclipse.swt.widgets.Link.WMLBUTTONUP(Link.java:1014) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4805) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4784) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2309) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3559) at org.eclipse.jface.window.Window.runEventLoop(Window.java:821) at org.eclipse.jface.window.Window.open(Window.java:797) at com.google.gapid.Main$UI.show(Main.java:119) at com.google.gapid.Main.main(Main.java:68)
A few suggestions on the GAPID trace dialog:
"Application" field should be the game name executable (DOOMx64vk.exe) instead of "Steam.exe", this is to be consistent with cases for standalone apps/games. some gamers will just click on the game executable shortcut directly without aware of Steam process got triggered. And "Environment Variables" can be “GAPID_LAUNCH_PLATFORM = Steam.exe”
Every child processes from the application must be traced, this is for the game like StrangeBrigade.
Thanks!
GAPID Version: 1.5.0:b33134fa99c398ce81dffd642aa11ea53c660518 OS: windows 10 amd64
Tried to capture a trace with Doom game in Desktop with the following setting:
Here is the error details: panic: Process returned error Cause: exit status 53
goroutine 317 [running]: github.com/google/gapid/gapis/trace/desktop.(DesktopTracer).SetupTrace(0xc0000ef5f0, 0x62f4120, 0xc000140900, 0xc000246b60, 0x0, 0x0, 0x0, 0x0, 0xd) gapis/trace/desktop/trace.go:230 +0x5e2 github.com/google/gapid/gapis/trace.Trace(0x62f4120, 0xc000140900, 0xc00030fa10, 0xc0000e25a0, 0xc0000e2720, 0xc000246b60, 0xc0002088d8, 0x0, 0x0) gapis/trace/trace.go:55 +0x83f github.com/google/gapid/gapis/server.(traceHandler).Initialize.func1(0x62f4120, 0xc000140900, 0xc000246b60, 0xc0002088c0, 0xc0000e2720) gapis/server/server.go:717 +0x73 created by github.com/google/gapid/gapis/server.(*traceHandler).Initialize gapis/server/server.go:716 +0xa0
Thanks!