Double clicking on errors in the Output pane takes me to the erroring line of my script

I want to be able to double click on any output in the output pane (especially red error text) and have Studio open the script and set the cursor to the line number that is outputting that text or erroring. This is one of my most-used debugging shortcuts in Visual Studio.

For example, clicking on the red text in this screenshot should open the script ProductDB and move the text cursor in the editing window to line 81.

blob.png

6 Likes

1 Like

What’s the behavior for required site modules? (i.e. require(1234567))

I’m not familiar with that syntax. Does that load a script asset id and run it?

If so, and if there is a bug in that script, I still would want double clicking on the output to take me to the script source. In this hypothetical case this bug is still stopping my game from working and so needs attention, right? Unfortunately a fix in this case would mean forking some standard library which means my game is now brittle in the face of future Core script updates. So I’m in a bad place.

Modules required that way can be required by any person on ROBLOX, even if the asset is private. The source is private though. I imagine Spacek is concerned that you’d introduce the ability to view the now-private source of modules by trying to make it error and then opening it.

That being said, you can’t require private modules you don’t own in Studio, so there wouldn’t be any issue. As for the error for trying to require a private module in studio, clicking it could just do nothing, or open a popup similar to the one you get when trying to edit the LinkedLeaderboard in the toolbox:

Uh, I guess it does? The procedure is you publish a module script as a model and then you require() it with the model ID. Modules can be owned by you or owned by others and closed-source, see http://wiki.roblox.com/index.php?title=Private_module

How is the code for a private module running on my machine without me having access to it?

Seems like I could just rip it out of system memory using a debugger. It’s even probably laying around in plaintext in my wininet cache.

You can only require private modules in live game servers, where you don’t have access to the memory.

Also mentioned on the wiki page of private modules:

[quote]

  • Private modules cannot be loaded from studio. This makes it difficult to test games which rely on private modules.[/quote]

I didn’t know about private modules.

But not being able to test without going live is probably going to keep me from ever using them.

And the fact that someone can literally do everything they want when you require their module. They could wire tools into your game so they have admin commands, or to teleport all players to a different game, or to serialize parts of the game and upload them to a server without even needing a third party program, etc.

Here’s an interesting discussion on the question if it should be removed as a feature or not: