Questions about debugging techniques, using the built-in debugger, and/or the Wolfram Workbench debugger.

learn more… | top users | synonyms

41
votes
2answers
1k views

Mathematica Debuggability

One of the things that I really dislike about Mathematica is its lack of debuggability compared to many other programming languages. Some of the problems arises from the functional nature of ...
28
votes
1answer
476 views

which is better, using Assert[] or manual checks on arguments and other computations?

I never used Asserts in Mathematica, but trying to see what advantage they have over just argument check and additional definitions of the function to capture unwanted input. For example, which one ...
25
votes
2answers
1k views

Debugging memory leaks

I've written my incredibly complex, incredibly elegant analysis function, that works great on small test data. But when I run it on my real (bigger) data set it keeps running out of memory. It turns ...
20
votes
1answer
216 views

Why Trace[] shows some internal warnings on a standard Plot command in V9?

For fun, I like to use Trace with option TraceInternal->True to see if I figure how some of the commands work internally. I ...
19
votes
7answers
2k views

Wolfram Workbench - Mathematica Development Alternatives

Are there any alternatives (IDE or other workflow) to Wolfram Workbench for development and debugging? Elaboration: An open source alternative.
19
votes
2answers
667 views

Is it possible to Print expressions in reverse order?

Let's say I'm debugging a program step by step and want to Print some expressions (using ShowIt, for example). Is there a way to output the result of ...
17
votes
2answers
2k views

Debugging Mathematica Code

In various integrated development environments, such as Microsoft Visual Studio, there is an integrated debugger where you can step through code sections, examine the state of variables and figure out ...
16
votes
1answer
336 views

How does the built-in debugger decide what to highlight?

How does the built-in debugger decide which definition to highlight in the notebook when Break on messages" is enabled? Here's an example to illustrate what I mean. First, enable the debugger ...
16
votes
0answers
490 views

How can I trace a functional expression's evaluation visually?

Ok, so the goal is to visualize the execution of this expression foo /@ {3 + 1, bar /@ {1 + 2, {4 + 7}}} in the following fashion using nested rectangles with ...
15
votes
1answer
581 views

A debug utility to print or extract intermediate data from a program

Is there a way to print variables using their names, or to extract the corresponding information for later analysis ?
14
votes
2answers
830 views

Debugging with Breakpoints

re: Version 9. I typically write concise code and make a real effort to refactor. As such debugging has tended to take care of itself. Recently, I've needed to assemble applications of more ...
11
votes
1answer
192 views

Inspecting non-variable state from a breakpoint in Workbench

Suppose I'm stopped at a breakpoint in Workbench, say at one of the y = ... lines in: ...
10
votes
1answer
152 views

Is there a way to find out who is importing a package?

After calling some functions, if I look into $ContextPath, I can see that JLink` is in there. Is there a way to find out what ...
9
votes
0answers
90 views

How to capture implicit fails in Plot or Show? [duplicate]

How can I make a construct similar to C++ functions: try{} catch{} I want to use it to avoid showing a lot of errors in the plot area when for example one of the ...
7
votes
1answer
76 views

How can I get TracePrint to treat certain functions as atomic?

Consider the following example: ...
6
votes
2answers
93 views

Can Trace[] output during evaluation (and not only after)?

I'm trying to debug a function that goes into an endless loop. I tried to Trace[] some expressions inside the the function, but apparently Trace[] outputs its information only after the expression has ...
6
votes
1answer
74 views

Debugging a $RecursionLimit error?

I sometimes encounter bugs that involve a recursion limit. It's often very hard to find the origin of the problem. Would there be a way to copy the stack somewhere and abort the evaluation in order ...
6
votes
1answer
442 views

How to Debug Missing[NotAvailable] error for Social Media Data

I get a Missing[NotAvailable] error message when trying to access Social Media Data using SocialMediaData["Facebook", "Friends"] ...
5
votes
3answers
156 views

Metaquestion: how to find out why (e.g.) MatchQ[42, _?Function[x, True]] is False?

Suppose you run into a bewildering Mathematica result (which happens to me several times per Mathematica session, even after a 20-year acquaintance), such as, for example: ...
5
votes
1answer
357 views

What is missing in this Mathematica Journal Article?

So I had been looking to solve a little tiling problem and Google turned up this Mathematica Journal Article and I noticed the code was both incomplete and incorrect, so... My Question is, What is ...
5
votes
1answer
206 views

How to find the name of the current function

I would like to know the name of the current function from within that function. For example, consider the following code ...
5
votes
3answers
954 views

Solution for equation system with piece-wise defined functions

As I could swear this worked just yesterday, I am probably just doing something stupid here and I am sorry to bother you :) I am trying to find the point where a curve crosses a line. In this case, ...
5
votes
1answer
106 views

How can I execute a sequence of statements interactively?

I'm fairly new to Mathematica. Suppose I have the following function: f[x_Integer] := Module[{y, z, r}, y = 5; z = 10; r = x + y + z; r ]; and I ...
5
votes
1answer
139 views

MUnit test debug breakpoints in Workbench not working

When I create a breakpoint in Workbench 2 for an MUnit test, and run a debug build, the breakpoints are not breaking execution. The MUnit output is updated like a normal run without breakpoints. Why ...
5
votes
1answer
669 views

Catching and debugging numerical errors in compiled functions

I have a compiled function (that was created using the second method of this question). Basically it's using a compiled closure. The problem is that for some parameter values it does not evaluate. ...
5
votes
1answer
136 views

how to print stack trace when TimeConstrained times out

According to the documentation, TimeConstrained generates an interrupt which interrupts the computation. This interrupt is treated just like an abort, at least in ...
5
votes
0answers
123 views

Is there a package or canonical way for writing test harnesses in Mathematica?

I've written a complicated function foo.1 I'd now like to simplify this function's code, and later enhance it with more features. With each change, however, I'd ...
4
votes
1answer
212 views

Help with Permutations

I am currently trying to generate a list of permutations of length 2 of elements of a list of strings. For example: ...
4
votes
2answers
229 views

Why does having many Print statements slow down my code?

I have a code that I need to debug. I have put a Print[] into it that should give about 10^4 prints for table entries. I know that 10^4 is large, and this exposes ...
4
votes
1answer
127 views

Dealing with errors and resuming the code after one

How can I write my Mathematica code so that it resumes at a specific place if any Message is displayed during the execution of an expression? For example, in Visual ...
4
votes
0answers
77 views

Is there a way to update Workbench 2.0 to recognize Mathematica 9, 10 and 10.1 functions?

Is there a way to add newer functions to a configuration file so that Workbench 2.0 is useable for development with 10.1? Also, are there changes that can be made so that Workbench 2.0 can be used to ...
4
votes
0answers
49 views

RuntimeTools insight?

Does anyone happen to have some more complete insight into the RuntimeTools package that is used by Debug and Workbench? I ask ...
4
votes
0answers
166 views

Syntax error for optional pattern, but only in debugger

This expression (explained here by Leonid) evaluates fine unless Evaluation->Debugger is enabled: h[x : (_Integer) : 1] := x Syntax::sntxf: "x:" cannot be ...
3
votes
2answers
529 views

Unexpected result of summation

I wrote small module that gives me incorrect output-set, it should be a single number! I don't understand what went wrong. This is the form of summation used: $$\frac{1}{2} (b-a) \sum_{i=1}^n ...
3
votes
1answer
38 views

Issue with the debug tools window [duplicate]

I have an issue with the debug tools window. It appears on its own periodically. I have turned it off in the Evaluation menu, and have gone to "Debugger Controls" and deselected "Show Debugger Tools ...
3
votes
1answer
223 views

Debugging graphics

All the examples I am seeing on internet are related to normal functions that carry out loops and assignments but I have not seen one example where I can see a graphics based program being debugged. ...
3
votes
1answer
64 views

How can one debug a module more elegant than just with Print?

This question is interesting mainly for beginners, but the answer i wrote to my own question could be also interesting for advanced users. Introduction: While writing huge blocks of code, especially ...
3
votes
1answer
74 views

local logfiles for remote kernels

I'd like remote slave kernels to produce log files on my local machine, subject to the following constraints: 1) I don't want to install a distributed filesystem or do other administrative work on ...
3
votes
0answers
41 views

Why does the debugger not stop when a message is generated?

I am on version 10.1. I have enabled the debugger and I have checked the box in front of "Break at Messages" in the Debugger Tools Window. However most the time the debugger does not stop when a ...
2
votes
1answer
4k views

How do I identify the source of a “Tag times protected” error?

I have some code that looks like Table[ a = 1; b = {2, 3} c = i;, {i, 2} ] which gives an error: Set::write: Tag Times in c {2,3} is ...
2
votes
1answer
243 views

See Local Variable at breakpoint within MODULE?

Within the debugger, can we watch local variables within a Module? As the screenshot shows, the ā€œiā€ only display its global value (12) upon a message breakpoint. Is there a way to show its local ...
2
votes
0answers
68 views

Does anyone have a debugger that works in version 10.+?

The debugger from mma version 10.0 to 10.1.0 is broken for me. I have Windows 8.1 64-bit. When I step through a function using the debugger then the function is run several times. This problem didn't ...
2
votes
0answers
49 views

How to debug an existing notebook in Workbench

I have an existing notebook that I want to debug in workbench. This notebook is a self contained program that does not use any .m files. From what I can tell from the Workbench documentation you ...
2
votes
0answers
72 views

Find where an error occurred in a bunch of command line scripts

I have been using my intuition to solve errors in my Mathematica scripts. But when calculations got more complex and I started getting errors involving code in more participating scripts (a script ...
2
votes
0answers
110 views

Debuging in Mathematica [duplicate]

Description I have using Mathematica to solve all kinds of problems that encountered in my study. However, the function that I define to solve specific problem is not always right, in other words, it ...
1
vote
1answer
111 views

Animated gif form parametric plot

I need to create an animated gif for the following function. ...
1
vote
1answer
93 views

How to know at which point of a calculation I am while using Table

If I use a code of this type: Table[foo[i], {i, 0, 10}] Mathematica won't output anything until it is done: is it possible to know at which point of the ...
1
vote
2answers
423 views

How to debug error triggered by replacement rule?

The second line below produces the errors shown: ...
1
vote
1answer
84 views

Cannot step into code in Wolfram Workbench [closed]

I have written a set of functions in a .m file in Mathematica 9.0 using Workbench 2.0. When I right-click the .nb and click Debug as Mathematica, The .m file loads and successfully initializes. ...
1
vote
1answer
326 views

Usage of Piecewise/RSolve to solve an equation based on condition

I am trying to compute price of call option on a stock using the finite difference method. I have a VBA code for it, and I am trying to find out how I can use Mathematica memoization functions and ...