I am trying to Debug Pl/SQL packaged procedure through vs2012.
The Studio output shows that
PL/SQL Debugger will use host: nnn.nnn.nn.nn and port: 65000 for Oracle Application Debugging
When the application starts and when the c# code hits the break point ExecuteNoneQuery the output shows
A database has connected to the PL/SQL Debugger on host nnn.nnn.nn and port:65000
but the debugger does not hit break point set in the PL/SQL code ..
What did I do wrong ?
There's quite a few steps needed to get PL/SQL debugging working for the first time. Among them are debugging permissions, compiling with debug metadata, setting the Options page.... it sounds to me like you did not compile with debug metadata.
I have two suggestions:
1) Read the Debugging Setup Checklist in the PL/SQL Debugger section of the Oracle Developer Tools online help.
2) Work through this walkthrough:
https://apex.oracle.com/pls/apex/f?p=44785:24:8435468845634:::24:P24_CONTENT_ID,P24_PROD_SECTION_GRP_ID,P24_PREV_PAGE:10191,,24
Hmm... ! Interesting encounter..
The packaged.procedure I was trying to debug was initially developed with Oracele Sql Developer. The same package was brought into VS2012 on connecting to the Oracle database.
And re-compiled with Vs2012 Oracle tools.
Comments like
/*--- here comes the santa -----
-----------end of santa------------------*/
were fine under Oracle Developer.
But under VS2012 Oracle tools the parser is not paring /* and */ because of the -- appearing before the end comment */
All I had to do was this
/*--- here comes the santa -----
-----------end of santa------------------
*/
Related
I'm trying to profile an ASP.NET web service on my machine under IISExpress that has an execution stack of
c# for the entrance point to the web service, which calls
c++/cli middleware, which calls
native c++ for the bulk of the execution, which calls
c++/cli & c# for some extra plug-in services that provide a Data Access Layer to the native c++ layer
This is all written in Visual Studio 2019 (C# and C++)
I am trying to profile this in Visual Studio 2019 by running IISExpress and using the Analyze / Performance Profiler to attach to the running process.
I can run my program and execute a http request (exercising my execution stack) successfully, but the profiler will only show
iisexpress
[Unwalkable]
as the two function names that are executed.
Does anybody have experience with getting the Performance Profiler to provide good output in similar circumstances?
I'm also open to other profilers.
I experienced the same thing when trying to profile my desktop application. I had to run it in administrative mode. Then it worked as it should.
I'm getting a lot of value out of Microsoft's free PerfView https://github.com/microsoft/perfview/. Much more functional than any other profiler I tried.
I am getting error when updating the edmx
Unable to generate the model because of the following exception: 'An error occurred while executing the command definition. See the inner exception for details.
Illegal mix of collations (utf8_bin,NONE) and (utf8_bin,NONE) for operation '='
How do I solve this problem ? I have tried so many things. It would be great help if anyone help me to solve out this error.
Thanks
Prerna
When one is playing with the tools offered by Microsoft and Oracle simultaneously, the two don't always sit right with each other. Quite recently I had to integrate MySQL with Visual Studio using Entity Framwork and its was quite a mess.
As far as my research on the internet goes, most of the people trying to achieve the said target encountered the following problems or errors and I was unlucky enough to encounter all of them:
Authentication Probelm : "Authentication method 'caching_sha2_password' not supported by any of the available plugins"
Entity Framework doesn't generate the Entity Data Model:
Choose 'EF Designer from database'
Choose the connection from the drop down (localhost) that already tested successfully connecting to MySQL databse
The "Save connection settings in webc.config as" option is checked
I click 'Next' AND the window disappeared and I get back to the code window
No .edmx file is generated
Edmx file is generated but there is no Entity Data Model in it and the output windows shows one of the following 2 exceptions: "Illegal mix of collations (utf8_bin,NONE) and (utf8_bin,NONE) for operation '='" OR "Illegal mix of collations for operations 'Union'"
Entity Framework version is not compatible with the one required by MySQL.
MySQL Integration with Visual Studio Guidelines
Requirements:
Visual Studio 2012 or above
Dot Net Framework 4.5 or above
MySQL Installer Community 5.7.23.0
MySQL Workbench Community 6.3.9-winx64
MySQL Connector\Net 6.8.8
MySQL For Visual Studio 1.2.7
Entity Framework 5
Installation Steps:
Install the target version of Visual Studio first i.e. VS-2012 or above. The order of installation does matter.
Download the above mentioned MySQL’s components separately.
Install the MySQL Installer Community 5.7.23.0 and let it install all the default components. Select "Sha256_Password" authentication instead of "Caching_Sha2_password".
After its finished installing, close the MySQL installer and reopen it from the start menu.
Click on the “remove” option.
Uninstall MySQL for Visual Studio, MySQL Connector\Net and MySQL Workbench.
Run the setups for MySQL Connector\Net 6.8.8, MySQL for Visual Studio 1.2.7, & MySQL Workbench Community 6.3.9-winx64 individually and install them manually one by one.
Now the MySQL environment is all set to be integrated with Visual Studio and Entity Framework.
Note:
The versions of the MySQL Components plus the environment of Visual Studio and its frameworks should exactly match with the ones mentioned above otherwise the things will not be cohesive and the developer will end up dealing with some unwanted and rigid problems.
I'm using Visual Studio 2017 to develop a C++ app on a remote Linux machine. First, I run my code on the remote machine and then attach to the remote process using SSH. I attach to Native (GDB) code and hit my breakpoint. The problem is that I can't view the contents of a string received in the debugger.
std::string msg_str(static_cast<char*>(incoming.data()), incoming.size());
The string above is retrieved via ZeroMQ message. If I do a QuickWatch on msg_str, none of the values are in a human readable form.
What I expect to see is:
{"message":"mark","color":"#FFAABB","session_id":"XVg32B","x":34,"y":563}
What do I need to do in order to view this in the VS2017 debugger?
edit
No I'm not compiling with VS. I'm developing a game using the Urho3D engine. On the Linux box I use cmake to create the makefile and then compile/link using make from a SSH bash shell. In VS I get all kinds of build errors.
I've been searching high and low for more information on how to set this project up, to no avail. My biggest problem is that I'm a C# developer trying to come up to speed with C++. The learning curve is pretty steep...
I think the problem is that you've attached to the remote process and VS doesn't know that it's supposed to be looking at a std::string. Are you able to run your test by building then executing from within VS? Does VS know that the source it can see is what's running in the debugger?
It looks like at least some of the string is visible in QuickWatch as _M_p. The result you expect doesn't appear to be a simple string, could this have a bearing?
I just tried inspecting std::string ss ("12345", 5) in QuickWatch in VS2017 (15.7.3) and the string is displayed exactly as you would expect. But I did compile and run (F5) from VS.
========= 18 June
You can create a makefile project in VCLinux very easily. Add a new project to your solution and choose Visual C++ - Cross Platform - Linux - Makefile Project. Then copy your sources and makefile into the newly created project directory and add them to the VS project. In the project settings, set the Remote Build commands, e.g. cd $(RemoteProjectDir);make debug and under Debugging set the remote command you want executed.
Depending on how complex your project is, it might be worth creating a very simple, stand-alone test to try out remote building and debugging to verify that you can set a breakpoint and correctly visualise a string.
Not the perfect solution, but I do msg_str.c_str() in the immediate window. Probably wouldn't work well for anything beyond the 7bit ascii subset of utf.
I have a C++ application (it's built using Qt 5.8 library and works with PostgreSQL 9.5 database in case it's relevant). The application is build by MSVC 2012 compiler, is 64-bit application and both debug and release versions run normally on their own and under cdb debugger.
When I try to profile the running application by Visual Studio instrument (Analyze -> Profiler -> Attach), it seemingly hangs as soon as it tries to do something meaningful: simply resizing a window or clicking on checkboxes works, but any attempt to compute new values and write them to database never succeeds, as if control flow didn't return from some call.
When I stop the profiling, Studio marks as a "hot path" sequence of calls RtlWalkFrameChain->RtlpWalkFrameChain->RtlpLookupFunctionEntryForStackWalks->RtlLookupFunctionTable->RtlAcquireSRWLockShared.
RtlpWalkFrameChain has the biggest "exclusive samples" count.
Trying to filter data to exclude initial several seconds of run (until the apparent freeze) results in "No Call Tree Data Is Available" message.
I didn't manage to find any article or post with a similar problem.
The project is build in Qt Creator (I don't have a project file Studio would understand, so I can't run "normal" performance analysis).
OS is Windows 7, exact version of Visual Studio is 11.0.61219.00 Update 5.
Any idea on the subject would be welcome.
Upd: When I try to profile the application with Luke Stackwalker profiler, it aborts with the message ERROR: StackWalk64-Endless-Callstack!. The only relevant comment about the message I found is this Stackoverflow question. When I run application under cdb debugger and then try to profile it with Luke Stackwalker, the error message is the same, but subsequent pause in the debugger shows the proper (or at least believable) stack for all threads. For the working thread debugger points to a line of code inside system library and doesn't advance no matter what I do (once again, without profiling attempts the application runs normally, debugger or not).
When I run command line application (executable generated using visual studio 2008) on non development windows 7 machine it gives following run time error "application has requested run time to terminate in unusual way. Please contact application support team for more information". It runs fine on a development machine.
With VS 2005 and VS 2008, Visual C++ used a side-by-side versioning scheme that requires manifest entries embeddded in the EXE to really work correctly in all cases. It's possible you are dealing with one of these. See these articles for details on debugging these side-by-side issues.
Diagnosing SideBySide failures
Part 1: Troubleshooting VC++ Side by Side Problems
Part 2: Troubleshooting VC++ Side by Side Problems
Note that with VS 2010 and later, Visual C++ no longer uses this side-by-side scheme. That said, there are still lots of reasons to use embedded manifests anyhow. See this article.