Bullseye: How to enable Bullseye for all processes - bullseye

From what little documentation I can find on the web, it seems that calling cov01 --on simply updates a user configuration file ($HOME/.BullseyeCoverage/UserSettings). However, how can this be set more globally to intercept coverage for processes running as another user, all built using the same bullseye configuration file?

You will have to call to cov01 for any process you would like to use with Bullseye compiler interceptors. This is actually desired behavior because otherwise one process would determine the gcc behavior for all other processes.

Related

Build code in vscode using external http server

Our code building process is done via an http server which starts the build process after receiving a project uuid from the build command. Once the server starts the compilation, GCC compatible output can be fetched from it.
Note: only my extension is aware of the project uuid which is different per workspace.
AFAIU I can implement it by:
programmatically adding a task which will call a script with the correct workspace uuid. Is this possible?
Having my extension manage the build process. This seems to be far from supported.
Bottom line, I'm trying to avoid asking the user to add anything to the configuration files and I want to completely manage the build process.
Thanks!
As I didn't find a suitable only vscode solution I did the following:
Defined a helper script which I executed as the task. The helper script was respojnsible for the communication against the HTTP server.
I registered the task using vscode.workspace.registerTaskProvider API, and made sure to register it only after figuring out the UUID.
Then in the task itself I executed the helper script.
(A nice task register example can be found here: https://github.com/Microsoft/vscode-extension-samples/tree/master/task-provider-sample)

Creating VSCode Debugger Extension

I'm in the process of trying to write a VSCode extension to support basic SNES application development. I already have a basic grammar definition and build task, so I have syntax highlighting, and am able to build my project with Ctrl+Shift+B using the bass v14 assembler, but now I'm trying to figure out how to launch the project using launch.json. I've already worked through the official docs and played around with the mock debugger project, but I can't seem to figure out how to adapt it for my extension. To start, I'm using the bsnes-plus emulator as my debugger. There isn't really any command-line or IPC interface that will actually allow me to implement a proper debug adapter, so all I really want to do is to run the program and pass it my output file to launch. For the time being, I'm assuming that bsnes-plus.exe is located in my $PATH, but eventually I'll try and figure out the best practices for external executable dependencies for an extension.
So here are my current questions:
Is the "program" field of launch.json my compiled application, or is it bsnes-plus.exe?
If "program" is my application, where do I specify bsnes-plus.exe? Or vice versa.
Is there a way to specify my own project-level variables, e.g. $OUTPUT so that I don't have to hard-code the output filename into both the build task and the launch task?
At one point, I was able to get the launch command to open bsnes-plus, but not load the game, and when I closed it, VSCode complained that the debugger terminated unexpectedly and immediately re-opened bsnes-plus. How do I avoid this? Do I need to write a debug adapter even though it's not going to actually do anything other than launch the application, just so I can tell VSCode that it exited cleanly?
Is the "program" field of launch.json my compiled application, or is it bsnes-plus.exe?
This is entirely up to the debug extension. It's just passed through to the debug adapter. It usually corresponds to the specific app/script being debugged though, not the runtime that's running it, so I would suggest it should be your compiled application.
If "program" is my application, where do I specify bsnes-plus.exe? Or vice versa.
You can put it any other field. In Dart, we have a dartPath field that can be passed through to the debug adapter. It's usually populated silently by the DebugConfigurationProvider.resolveDebugConfig though (we detect the SDK by searching PATH) so the user never needs to add it.
Is there a way to specify my own project-level variables, e.g. $OUTPUT so that I don't have to hard-code the output filename into both the build task and the launch task?
You can't make your own variables, but using resolveDebugConfig you can manipulate the launch config yourself before it's passed to the debug adapter, which probably allows you to do what you need here (eg. you could do a string replace on program - or you could even just add it if it's not set, allowing a launch.json-less launch too).
Do I need to write a debug adapter even though it's not going to actually do anything other than launch the application, just so I can tell VSCode that it exited cleanly?
I'm not sure what happened here without more details, but having a debug adapter probably makes the most sense - for example if you want to make the Stop/Restart buttons work on the toolbar, you'd probably want a debug adapter that can terminate and/or restart the process.

MassTransit first run

I'm trying out MassTransit. I wrote a small console application as showed in documentation (http://docs.masstransit-project.com/en/latest/configuration/quickstart.html).
What I first ran the app, it opened another console windows, and did something that looked like an installation proccess, or some kind of file copy. I remember seeing something done in the windows directory, but it was too fast to read and understand what exactly it did.
I couldn't find any information about it. I tried starting a new .NET project and running the same code - it did not repeat.
Does MassTransit install something on the system at first run? does someone knows what exactly happens on first tun?
Thanks
I've written a post explaining how to get a quick hello world Mass Transit application up and running.
It uses RabbitMQ, but the same principles apply to MSMQ.
http://nodogmablog.bryanhogan.net/2015/04/mass-transit-with-rabbitmq-hello-world/
If you included the call to the method VerifyMsmqConfiguration() as in the quick start, then MassTransit initates any required MSMQ component installation.
The required MSMQ components are Core, LocalStorage, and Multicast.

postgres attaching a process

How do we attach a sql query such as join query to an existing gdb process in eclipse? Whenever I try to fork the given process using debug configurations in eclipse, which is a shared library , I am getting the following error:
No source available for "__kernel_vsyscall() at 0xb729c424"
Also, whenever I set break points in a specific program in eclipse, control goes to main.c and finally the process never comes back to the actual program.
Is there any way that the process be constrained only to my specific program?
how do we attach a sql query such as join query to an existing gdb process in eclipse
Um, what?
Are you attempting to debug a PostgreSQL server backend? If so, see the PostgreSQL wiki page that provides lots of details on the topic.
Whenever I try to fork the given process using debug configurations in eclipse, which is a shared library
What is a shared library? Eclipse isn't. PostgreSQL isn't. So what's the shared library here?
Are you trying to debug a PostgreSQL extension? If so, see the above link for details on attaching to a PostgreSQL server backend.
No source available for "__kernel_vsyscall() at 0xb729c424"
That's normal. It's just telling you that there's no source code on record for the __kernel_vsyscall call that's the entrypoint into syscalls in linux-gate.so via glibc when using sysenter.
The stack below it should be more informative. Get a backtrace, then look at the lower stack frames.
See:
What is __kernel_vsyscall?
Having trouble finding the method __kernel_vsyscall within the Linux kernel
http://www.trilithium.com/johan/2005/08/linux-gate/
Your "also" is really a separate question, and it's pretty hard to answer it usefully with the total lack of information provided. Try posting a new, more detailed question on just that topic. Specify how you compiled the program, set it up for debugging, how you're running it, where you're trying to set breakpoints, etc.

Installing Nagios plugins on Centreon

I am very new to monitoring and with linux.
So i took the easy path and Installed FullyAutomatedNagios (FAN) on a linux machine (CentOS).
and installed/configured NSclient++ on windows machine i wanted to monitor. Via webinterfece of FAN which is centreon i started to monitor basic parameters like (memory,cpu,disks,services etc) Via CHECK_NT commands.
Now i want to move forward and want to monitor something more like DB performance,queries etc , but inorder to do that i need to install nagios plugins and i have no idea how can i do that.please help.
The first things to do in my opinion are :
Know exactly what do you want to check (DB, Web server, ...)
Search on http://exchange.nagios.org/ or others (why not) if there are already some plugins who responding to your demand.
Search if the check can be done directly on the monitoring server or in the client server (the protocol will change, NRPE, NSClient++ or SNMP for example)
If yes, you have to implement them on your monitoring server, on your plugins directory (where are your CPU, memory plugins) and execute the script with corrects parameters if the plugin works.
If yes, you can now implement them on your interface and make them automatic, like create command, create service...
Define your metrics and check when you want your plugins output Warning alert or Critical alert and all these things are set in the interface.
If you don't find plugins, you must create one.
This is way to do and can be optimized obviously.
Nicolas B.