Debugging

Syndicate content 10 

One of the most important features during application development is the ability to debug your code easily. Because of the asynchrnous nature, a standard Node.js application server works single-threaded by default. When you are developing applications using an IDE like Visual Studio Code, you can very easily debug your Node.js process:

First, download the free Visual Studio Code IDE (@code) and install it on your development machine.

+ 3   0 2
0

comments

1001

views

+ 3

rating

Hi,

I have a process that is importing lots of data from an external file, but every now and then I come across a STORE error.

I know that the STORE error is occurring in the %Save method of the class but I know very little else and I think its something to do with a lage amounts of Related Objects.

Is there a method of finding out more information regarding this error i.e. which actual object was being saved etc etc.

Thanks

Jim

Last answer 16 November 2016 Last comment 17 November 2016
0   0 4
780

views

0

rating

In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:

+ 7   2 4
0

comments

717

views

+ 7

rating

Hi Community,

I would like to share with you my experience regarding  to debugging via Atelier.

I'm developing a REST API and would like to attach to a process when I call the API via a REST Client tool, for example Postman. The purpose is to inspect values from HEADER and BODY of the HTTP request during the debugging process.

Come on! How am I doing? I am going to demonstrate that by using a class from SAMPLES namespace.

1 - Open Atelier;

2 - Open your REST Service class;

3 - Go to the method related to the URI that you need to debug;

Last comment 9 January 2018
+ 8   0 5
587

views

+ 8

rating

Hello.

For debugging purposes I  sometimes need to display stack information to the current device or save it (to a global for example).

There is this snippet offered in documentation:

ClassMethod StackToDisplay()
{
    For loop = 0:1:$Stack(-1) {
        Write !, "Context level:", loop, ?25, "Context type: ", $Stack(loop)
        Write !, ?5, "Current place: ", $Stack(loop, "PLACE")
        Write !, ?5, "Current source: ", $Stack(loop, "MCODE")
        Write !
    }
}

And to save stack to a global there's always an exception method:

Last answer 30 March 2016 Last comment 30 March 2016
0   0 2
521

views

0

rating

We at George James Software are pleased to announce that our acclaimed code debugger and editor Serenji is now available as a Visual Studio Code extension.

As well as supporting the latest InterSystems IRIS platform Serenji also works with earlier platforms, including versions lacking the server-side Atelier API support required by other VS Code extensions.

Serenji connects you directly to the code in your namespaces, resulting in an experience more familiar to existing Studio users. No need to export and import classes and routines.

We believe Serenji is the first extension to bring VS Code's powerful debugging features to ObjectScript developers.

Last comment 5 days ago
+ 4   3 7
500

views

+ 4

rating

Not everyone knows that InterSystems Caché has a built-in tool for code profiling called Caché Monitor.

Its main purpose (obviously) is the collection of statistics for programs running in Caché. It can provide statistics by program, as well as detailed Line-by-Line statistics for each program.

Using Caché Monitor

Let’s take a look at a potential use case for Caché Monitor and its key features. So, in order to start the profiler, you need to go to the terminal and switch to the namespace that you want to monitor, then launch the %SYS.MONLBL system routine:

Last comment 14 December 2018
+ 3   7 2
415

views

+ 3

rating

Hello,

 

Last weekend we've updated our Caché version to 

Versie:Cache for Windows (x86-64) 2018.1.1 (Build 312U) 

 

I'm using Studio to develop. I've been using the built-in debugger and it has been working nicely. But now, since the upgrade, I'm getting this error when trying to debug any routine or class method:

Last answer 14 March 2019 Last comment 30 March 2019
0   0 6
353

views

0

rating

The article makes an attempt to demonstrate that Atelier is not just repeating the functionality of Caché Studio on a new IDE platform (Eclipse) but goes far beyond. Due to my personal experience, and challenges in former projects I picked first XSLT Debugging. Is it an ordinary task? Not at all. Who is doing XSLT every day? Probably none of us. Than why XSLT Debugging? Simply because there are solutions in our product portfolio which are using XSLT inside and those solutions require customization. Customizing XSLT without some sort of toolkit is more than challenging. The examples of such solutions starts with HealthShare IHE message, CDA vs. SDA transformations, goes through ZEN Reports, and ends by HealthShare CDA document viewer. Is that enough reason to spend time reading the whole article through not just the teaser?

Last comment 1 February 2017
+ 4   0 4
345

views

+ 4

rating

Hi I'm hoping the community will once more help me out with a question!

Right I have a production that takes an attachment from an email and processes it, sending out a hl7 message at the end. This works ok.

Now I just need to take the email and send it back out to a 'backup' email address, basically giving
a) A backup incase there is a problem with the email or something else further down the line.
b) A log of the emails receieved.

So I thought the best thing to do is have an operation with an email adapter and to send that my message.

Last answer 27 April 2017 Last comment 28 April 2017
0   0 4
338

views

0

rating

At the George James Software booth at Global Summit last year we took the wraps off the work we've been doing to make our popular editing and debugging tool Serenji available on the Visual Studio Code platform.

Rather than requiring you to pull code from your namespaces into local files, then push the changes back to the namespace to run it, you work directly in the namespace. In other words, the editing experience is like Studio rather than like Atelier.

As well as editing code you can also debug it directly from VSCode.

Last comment 17 January 2019
+ 3   1 5
333

views

+ 3

rating

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?

Cache 2016.1.1

Last answer 12 April 2017 Last comment 17 April 2017
0   0 0
326

views

0

rating

Hello 

I recently spent some time with Atelier, and tried to use it's inherited (from Eclipse) XSL transformation capabilities.

I have installed Exlipse XML Editor and Tools and Orangevolt XSLT - as it provides Saxon XSLT processor.

I have XSLT 2.0 transformation defined, that uses isc:evaluate() callback function to perform some server side code.

And here is my problem:  when I try to run XSL transformation of a file in my project, then as soon as the processor hits isc:evaluate() it fails. 

Last answer 6 March 2017 Last comment 3 March 2017
0   0 0
316

views

0

rating

Hi, Community!

Want to share with you one debugging approach from the Russian forum.

Suppose I want to debug the application  and I want it to stop the execution on a particular line.

I add in code this line:

l +d,-d

When I want to start debugging in this line I block d in terminal

USER> l +d

And execute the app.

The app stops on this line and lets me connect to it with Studio debugger.

Last comment 22 June 2016
0   0 5
311

views

0

rating

Hi,

How can I read the stack of another process?

I know about ^JOBEXAM, but I only know how to use through terminal, and I need to get a string, or at least do a method that returns me a string

For example:

I have process A and B

B monitors process A at each second.

B logs information about process A in a table

Informations about lock I get through %SYS.LockQuery and the process through %SYS.Process

Last answer 28 July 2017 Last comment 2 August 2017
0   0 2
289

views

0

rating

This post is meant to provide a quick possible explanation for a very perplexing problem.

 

Scenario:  You’ve just created your own administrative user in your 2014.1 (or later) instance of Caché.  You gave it every possible security role (including %All), so it should in theory be able to do anything within the instance.

You’ve written a very advanced routine with a break command in it for debugging:

 

Last comment 1 November 2016
+ 7   0 2
268

views

+ 7

rating

I am trying to debug a class on Atelier and it is not stopping at the defined breakpoint.

Atelier IDE Version: 1.0.107 - Cloud Connection

I have already taken a look at the Community´s Atelier Debugging Video and followed the steps without success.

Can anybody help me on that?

Tks. 

Last answer 18 March 2016 Last comment 18 March 2016
+ 2   0 0
254

views

+ 2

rating

Hi all,

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?

Best regards

Last answer 2 August 2016 Last comment 23 August 2016
+ 1   0 2
253

views

+ 1

rating

Hello all, I created a web service and I am trying to access it using SoapUI but I get this error:

<text>ERROR #5002: Cache error: &lt;PROTECT>zGetMsgClass+3^%SOAP.WebService.1 ^oddCOM("TestWeb.Service.TestWebSoap",85,"P",0,"soapAction","http://127.0.0.1/csp/dev5/Utils.TestWebService.testNow"),h:\dev5\</text>

It appears to be trying to make an entry in the ^oddCOM global, but is getting a PROTECT error. 

Last answer 17 January 2018 Last comment 23 January 2018
0   0 2
252

views

0

rating

Our development server is set up to automatically keep the .INT code of compiled classes and routines, but the live servers are set to not keep the .INT code.

I know how to set the system to keep this code ($SYSTEM.OBJ.SetQualifiers() ?)  but what are the ramifications of keeping this code on the live servers?  Is it just a space issue?  I always thought it was to keep the code more private.

Last answer 6 February 2019 Last comment 8 February 2019
0   0 2
249

views

0

rating

Hello everyone,

I have discussed extensively with Andrew Cheshire, the author of the Atelier parser (which I'll be able to hack on and reuse for CachéQuality -- yay!), and while we were at it, we also discussed code coverage.

We ended up talking about the ZBREAK command and its /TRACE option.

Last answer 14 April 2016 Last comment 14 April 2016
+ 2   0 2
243

views

+ 2

rating

Using our cool new debugging extension for Visual Studio Code I'm trying to debug a CreateProjection method of a class, but when I compile it the work apparently gets done in one of the worker jobs, so my breakpoint never triggers.

Is there a compiler flag or qualifier to force the compilation to be done in-process rather than getting handed off to a worker job?

Last answer 2 October 2018 Last comment 4 October 2018
+ 1   0 3
203

views

+ 1

rating

Hi world, i work actually on an intersystems project , my question is :

i've my Rest class that receive an HTTP request from a client side , i want to know how extract data from this http request , for example : date , id_client and measures taken by the client ( i need to extract  a weight value catched from a connected scale to my smart phone via bluetooth ) .

Thank you

Last answer 11 September 2017 Last comment 11 September 2017
0   0 2
194

views

0

rating

The %Net.SSH.Session class lets you connect to servers using SSH. It's most commonly used with SFTP, especially in the FTP inbound and outbound adaptors.

In this article, I'm going to give a quick example of how to connect to an SSH server using the class, describe your options for authenticating, and how to debug when things go wrong.

Here's an example of making the connection:

Last comment 25 April 2019
+ 7   0 2
190

views

+ 7

rating