Debugging is the process of finding and resolving defects or problems within a computer program that prevents the correct operation of computer software or a system.
Serenji 3.2.0, the latest version from George James Software, was released last week and our current users have been enjoying trying out the new features (which you can find more about here).
If you're thinking about trying Serenji for the first time, we've made it easier to get set up by adding a walkthrough on the VS Code Welcome page. It takes you through:
Setting up the server components.
Selecting a server namespace.
Saving and extending your workspace.
Requesting a debug license (don't forget we offer a free 30 day trial!)
We've also added prompts and guidance throughout VS Code to open and add Serenji folders to your workspace and when going to run and debug code.
This is just one of the ways we've enhanced the Serenji debugger to make straightforward and easy to use - so all you need to do is focus on your code.
I have a HealthShare HealthConnect operation which uses the EnsLib.HTTP.OutboundAdapter. It is using a custom Operation class to send HTTP Post request. The request data that is sent to the operation and the response back from the operation is not displayed on the visual trace. Is there anyway to display this data in the trace?
OAuth server to be deployed on the IRIS learning cloud platform. Clients - one on the other instance of the learning IRIS server, the other client locally on my computer in the container docker.
Both clients get a seemingly correct link (through ##class(%SYS.OAuth2.Authorization).GetAuthorizationCodeEndpoint()) to the login request form:
I am running a ZBREAK trace on a legacy FDBMS application that uses arrays but rather than displaying the array value contents, I am seeing logs similar to the following.
Trace: ZBREAK SET LINE=Array Val at BIOPWR+6^BIOPWR
Cache Studio almost always crashes when I click rows in Call Stack view during debugging. Then Cache has to be restarted because last edited file remains locked.
Looks like I'm the only one who uses the debugger. Or is there a magic spell to make stack view working?
For custormer support reasons we would like to know if its possible to activate some kind of flag or see/redirect wich is the code (lines) being executed when some misterious problems appear.
Is there any way to view the stack of execution code on a deployed code environment? Is there any other equivalent way to track the execution stack for a certain period of time?
I'm facing an issue while converting an ORU_R01 HL7 message to XML, specifically with the <pidgrpgrp> kind elements. When I use the getvalueat() method before conversion, the XML includes the <pidgrpgrp> and other <grp> elements, but when I don't use the getvalueat() method, the XML is generated without these <grp>elements.
We have several clients in different productions all accessing a web-service. We are trying to add another client in a new production, and its not working. The messages between the relevant Process and the SOAP web-client Operation are the same in the working and the non-working productions. But the web-service is reporting an XML parsing error to the non-working production. Here's the error as reported in the SOAP web-client Operation...
I am currently debugging a piece of code relying heavily on macros. I am using breaks in the method to then check the values of macros and object properties as I go. However, any time I invoke a macro within a break I get an error. To get around this I am converting the macro calls into the underlying code. Some of these macros have messy translations and this is somewhat time consuming. Is there an easier way to access macros from within a break?
I'm at a loss with configuring the IRIS ODBC driver (v02.10) on my Amazon Linux machine, connecting to a REMOTE IRIS backend. It should be simplified by not requiring a DSN (the app uses a DSN-less connection and generates the connection string). I have
I have created a Business Operation (BO) named "Sender" that sends HTTP messages to an endpoint (for testing, I'm using Postman's Mock Servers).
Goal: I want to set up an automatic timeout mechanism so that if I don't receive a response from the server within 18 seconds, an alert is generated and the message is resent. This process should be repeated every 18 seconds, for a maximum of 90 seconds. If no response is received within 90 seconds, I would like to generate an error message. On the other hand, if a response is received, I want to stop the resending process and complete the operation by indicating successful reception.
One of our development Ensemble instances is misbehaving. We suspect we'll just need to reinstall it - which would be a hassle. Before we do, we wanted to check we weren't missing some kind of easy fix. The symptoms we are seeing:
Hi I am trying to run a debugger in VS Code. I have the settings.json file and the launch.json file. I am trying to debug code using the attach to a process method, however when I run the debugger I get the following error.
Launch.json code
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
Is CR/LF changes to DTL files edited/committed to git via VS Code a known issue?
We had an issue with exporting files from one server and importing on another, using XML code exported from Studio: ERROR #6301: SAX XML Parser Error. Turns out that issue was down to CR/LF changes made when transferring the XML from one server to the other.
Exported contents of a namespace on one server (classes, include files and lookup tables). Importing that code into a newly created namespace on another server. Both servers Ensemble 2018.1, same build. Export was via InterSystems Studio. Export is around 18Mb in total (XML file sizes).
When importing and compiling on the new server, getting errors as below - with #6301: SAX XML Parser error prominent - on a number of the imported files, all containing data transformations or business processes.
On a developer's laptop, having had two or three Ensemble installs with different settings/config changes made, and encountering unexplained errors compiling classes, wanting to scrub as much of the previous installs off the machine before doing any fresh installation... But can't find clear documentation on doing a complete uninstall!
Have stopped the server.
Am I safe to remove C:\InterSystems\Ensemble (for the instance installed into that folder)?
I was wondering if anyone had any input on how to troubleshoot classes in a terminal session? I'm currently writing an "adapter" so that way we can encrypt and decrypt files through GNUPG (PGP keys).
Very simple, how to debug? The settings recommended in the docs don't work. I need a convenient way to keep track of what a function returns, like in other languages, by displaying it in the console.
When I try to debug using the docker image intersystemsdc/iris-community it is failing. If I change to intersystemsdc/iris-community:2022.3.0.555.0-zpm, I have success.
Sorry, change to: intersystemsdc/iris-community:2022.1.0.209.0-zpm
I am currently trying to better my development process by using Visual Studio Code because I'm more familiar and comfortable with it than Studio.
I've followed the guide here, but I'm still having issues. I initially didn't have the Web Socket protocol allowed on my Web Gateway server, but I enabled that and restarted the server with no luck.
I've faced a problem that happens while debugging a process in VSCode. It doesn't seem to matter if this is in a container, on my development VM, or against a locally installed version of IRIS. The problem seems to be mostly with X12 Documents.
So, in a debug session, I can dump out a value to the debug console and it loos correct. The same variable in VSCode appears to be some uninitialized memory location.
While I love using VSCode for IRIS development work, one of the persistent frustrations with it has been the inability to display an object hierarch in the variables window while debugging. Only the object's reference identifier is displayed. Cache Studio's handling of the same issue is a little clunky, but it does at least have the option to display something as an object.
For now, I make do with a combination of the watch window and the command line in the debugging console -- but this feels just a step away from log.debug()/console.log() level debugging sometimes.