Error during only Debug of program. (In dll of Oculus HMD) - visual-studio

I am using Oculus World Demo.
I can start it manually, but I have an internal error during "Debug"/"Release".
How to debug such errors?
Where can I see the command which runs the program.
Again:
It runs normally when I click on MyGreatestApp.exe in folder /Debug/.
It has an internal error of used DLL, when I start it in VS2103. (something like -3003 or fffff447)
P.S. I find it strange that I can debug in "Release" mode.(I mean step-by-step program execution.) Is it normal? Maybe I do it wrong? Thanks!

It could be useful if you say in what line the program crash.
Anyway you can use the Oculus Debug Tool: https://developer3.oculus.com/documentation/pcsdk/latest/concepts/dg-debug-tool/
To record logs and see at the Runtime side what is happening.
This is error -3003, check why your application is not connecting to Oculus. I should check if I running the 64 bit of my application or something like that.
ovrError_ServiceConnection = -3003, ///< Couldn't connect to the OVR Service.
Hope it helps

Related

Ocean API: A debugger has been found running in your system. Please, unload it from memory and restart your program

I wrote a simple code in Ocean API. When i want to start it without debugging it works and i can see the plugin in Petrel. However when i try to debug it a message appears:
cEngineer.dll A debugger has been found running in your system.Please, unload it from memory and restart your program.
Error- Debugging Mode
How can i solve this issue?
Many Thanks,
Petrel cannot be started in Debug mode. You can attach the debugger to it after it is launched. One trick to get the debugger attached early in your plug-in code is to place:
Debugger.Launch();
in your IModule.Initialize method.
The 64-bit version of Petrel is hardened against reverse engineering during initialization, but the previous answer is correct: attaching later (e.g. with Debugger.Launch(), or manually after the UI has appeared) works fine.
Alternatively, you can use the developer-only 32-bit build of Petrel (check the Ocean developer site). Pure .NET-based plugins will work fine, and it can be launched directly in the VS debugger.

Replacing Address of entry point windows works only under a debugger

I am trying to understand how the PE works under windows and so am going down the route of writing a packer.
So I took the address of entry point, that points to _mainCRTStartup and replaced it with a value that points to a "jmp _mainCRTStartup".
When I run it under a debugger my program runs fine but if I just launch the executable without a debugger it crashes and I am unable to attach a debugger post crash, the debugger says that it failed to attach to the crashing process.
I guess my questions would be: Should my approach work? If so what can I try to fix this issue?
Thanks,
Max
It turns out everything worked fine, I forgot to handle an exception in an anti-debug routine that would crash the exe if it wasn't ran in a debugger.

Access Violation when debbuging windows phone 8.1 app

recently I encountered a problem. Every time when I make some changes in page after I debug it on device when going to said page the app minimizes (crashes) and after about 30-50 seconds in output window I get
The program 'XXX' has exited with code -1073741819 (0xc0000005) 'Access violation'.
But when I uninstall and then debug again It works. I already tied reseting phone. Is it something with my debbuger or more likely with my code?
Edit:
Right now sometimes it occurs and sometime it doesnt ... I'll need to inspect code more. Is there a way to obtain more debug info with Access violation information?
I'll post as answer so others can see it easily.
You can see the dump of debug on the test device, Follow this
link.
Basically the link explains how to turn on "Save Information option" from Feedback application inside Settings of your device. After that when you debug the app, you will find dump file of your application inside,Phone -> Documents ->Debug.
Please post a sample of your code. I had similar problems when I tried using {unsafe code} and included pointers. They are extremely useful, but often lead you to memory problems (reading from a NULL pointer or something like that), so check if that's your problem.
Good luck

How to debug a GPF crash?

I have an old VB6 app that uses a lot of 3rd party components, not just visual but also for audio processing, tcp/udp, VoIP, etc...
When I run the app as an EXE (e.g. not in the VB6 IDE), it will crash sometimes with a GPF. It happens after the program has been running for several days and occurs when there is no one around.
Unfortunately the user has clipped the screenshot, but it typically doesn't have any useful information anyway. The description of the crash reported that the crash occurred in ntdll.dll.
My questions:
What tools do I need in order to debug this?
How do I actually get started?
I have the PDB files from the compilation in VB6. The app is compiled to Optimize for Fast Code. What can I do with them in this situation?
I would use ntsd or windbg (link), and run the app under either of the user mode debuggers (if you're not familiar, they have the same commands - ntsd is a console debugger, while windbg is a GUI debugger). Both have a lot of command line options, but ntsd appname.exe will be enough to get started. Use the .sympath command to point the debugger toward the symbol, and you should be on your way. When the crash occurs, you can examine variables and stack in order to figure out what may be missing.
BTW - the error above is an invalid handle error, so the program probably passed a stale or NULL handle to a windows function. The debugger will tell you more.

Print Debugging in Visual Studio?

I'm using Visual Studio 2008 to compile and debug a plugin for an application that runs under Windows.
The plugin has some problem and it crashes. I have been running VS in Debug mode but when the application crashes VS stack trace has nothing from my code. It is possibly the application itself that crashes. So I though I could try to figure out which part of my code does something the host application doesn't like by sprinkling a few print statements here and there in my code. That generally works as expected on *nix systems but in Windows I can't find where the output of those print goes. Can anybody point me in the right direction?
Also, if using prints do debug is too 1970's and somebody knows a better way to figure out where too look when the stack trace doesn't reveal anything interesting please let me know.
If i know correctly, debug.print is only executed when a debugger is attached, otherwise it is lost. (this applies to c# and vb.net).
You can use a logger to log your problems to some database or text file. A like NLOG to do the simple "log to a txt file" job. Additionally, you do not need to remove your logging code when shipping your addon -simply supress logmessages with low debug level.
Also, you could log to the windows event log, but is cluttered ny boatloads of junk, so you might have a hard time to differentiate that output.
Eventlog: http://support.microsoft.com/kb/301279

Resources