Skip to content

Make it easy for users to provide all relevant information about an error #821

Open
@per1234

Description

@per1234

Describe the current behavior

Obtaining the necessary information from the user is often the most difficult part of providing support or triaging bug reports, for all involved.

Arduino IDE 1.x provides a convenient Copy error messages button when there is an error during compilation or upload. In addition to the full output, the IDE adds other essential details:

  • Version of the Arduino IDE
  • Operating system
  • Board
  • Instructions for enabling the verbose output to get more information.

🙂 This means it is often possible for the user to provide all the necessary information in three simple steps:

  1. Click button.
  2. Paste error output in a post or issue.
  3. Submit the post or issue.

🙁 Providing the same information is far more complicated for the users of Arduino IDE 2.x.

To reproduce

Observe baseline Arduino IDE 1.x behavior

  1. Use the Arduino IDE 1.x to compile a sketch that has an error:
    #error
    void setup() {}
    void loop() {}
  2. Wait for the compilation to fail.
  3. Click the Copy error messages button on the orange bar:
    image
  4. Paste the copied output in a text editor.

🙂 The copied output provides the most essential details:

Arduino: 1.8.19 (Windows 10), Board: "Arduino Uno"

sketch_feb09a:1:2: error: #error 
 #error
  ^~~~~

exit status 1
#error 

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Compare to Arduino IDE 2.x behavior

  1. Use the Arduino IDE 2.x to compile a sketch that has an error:
    #error
    void setup() {}
    void loop() {}
  2. Wait for the compilation to fail.
  3. Right click on the "Output" view.
  4. Select "Copy All" from the context menu.
    (this is the closest equivalent to the Arduino IDE 1.x Copy error messages button)
  5. Paste the copied output in a text editor:

🙁 The copied output is missing some of the essential details:

C:\Users\per\AppData\Local\Temp\.arduinoIDE-unsaved202219-7652-1aug2t3.k3cu\sketch_feb9a\sketch_feb9a.ino:1:2: error: #error 
 #error
  ^~~~~

Compilation error: exit status 1

In order to gather the information provided by Arduino IDE 1.x, additional steps are required:

Arduino IDE version

  1. Select Help > About Arduino IDE from the Arduino IDE menus.
  2. Click the Copy button.
  3. Paste the contents of the clipboard into the report.
  4. Click the OK button of the "Arduino IDE" dialog.

🙁 A lot of steps to follow just to get a single bit of information. But the alternative of asking the user to find the information and provide it manually is even worse.

Board

  1. Note the board name shown in the board selector menu on the toolbar.
  2. Write the full and exact name of the board here in the report.

🙁 Providing information manually is prone to omissions and errors (e.g., "Uno" vs "Uno WiFi Rev2", "Nano" vs. "Nano 33 IoT").

OS

  1. Write your operating system here in the report.

🙁 Providing information manually is prone to omissions and errors.

Describe the request

Add all essential information to the text produced by the primary method of collecting error output.

Evaluate whether Arduino IDE 2.x's "Copy All" is an adequate replacement for the Copy error messages button of the Arduino IDE 1.x.

Desktop

  • OS: Windows 10
  • Version: 2.0.0-rc3-snapshot.a20899f
    Date: 2022-02-01T13:36:29.975Z
    CLI Version: nightly-20220205 [10107d2]

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions