Pull to refresh
33.96
Rating

Development for Windows *

Developing for Microsoft OSs

Show first
  • New
  • Top
Rating limit
  • All
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Why we need dynamic code analysis: the example of the PVS-Studio project

PVS-Studio corporate blog C++ *Visual Studio *Development for Windows *

In May 2021, CppCast recorded a podcast called ABI stability (CppCast #300). In this podcast, Marshall Clow and the hosts discussed rather old news — Visual Studio compilers support the AddressSantitzer tool. We have already integrated ASan into our testing system a long time ago. Now we want to tell you about a couple of interesting errors it found.


0868_PVS-Studio_ASan/image2.png

Read more →
Total votes 4: ↑3 and ↓1 +2
Views 299
Comments 0

Controlling Brushless Motors from Windows

Robotics development *Development for IOT *Development for Windows *Robotics IOT
Tutorial

In this video, we will look at how to connect brushless motors to a Windows computer via USB. We are going to connect a network of Servosila brushless motor controllers to the computer. The other option is CANbus interface, but we will look at CANbus in a dedicated video. A regular USB cable is used. Note that the USB cable is not used to power the controller and its motor.

The first brushless motor controller in network appears to Windows as a Virtual COM port. Once connected via USB, it can be found in a general list of devices in the Window's "Settings" window. Up to 16 controllers can be connected this way via a single USB cable to the same control computer or a PLC. If one of the interconnected brushless motor controllers is connected to a computer via USB, then that particular controller becomes a USB-to-CANbus gateway for the rest of the network.

If your computer happens to have more that one serial port, you may wish to check a COM port's number assigned by Windows to the controller. Then, you pick this COM port in a drop down menu in the Servoscope software, and click Connect. If the COM port is not listed in the drop-down menu, click the Refresh button. If everything is good, the controller appears in a list of devices. Double-click to open up a control and configuration window.

Video & Read more
Total votes 5: ↑3 and ↓2 +1
Views 512
Comments 0

How WCF Shoots Itself in the Foot With TraceSource

PVS-Studio corporate blog .NET *C# *Development for Windows *

We don't often get the chance to write something on parallel programming issues. This time we "got lucky". The TraceEvent standard method has some implementation peculiarities. They resulted in an error with multiple threads blocking. So we'd like to warn users about this nuance and cover this interesting case from our users support practice. Why was our support involved? Keep reading to find out. Enjoy the reading!

Read more
Total votes 5: ↑5 and ↓0 +5
Views 496
Comments 0

What Is yield and How Does It Work in C#?

PVS-Studio corporate blog Programming *.NET *C# *Development for Windows *

C# capabilities keep expanding from year to year. New features enrich software development. However, their advantages may not always be so obvious. For example, the good old yield. To some developers, especially beginners, it's like magic - inexplicable, but intriguing. This article shows how yield works and what this peculiar word hides. Have fun reading!

Read more
Total votes 2: ↑1 and ↓1 0
Views 1.1K
Comments 0

Intercepting Program Startup on Windows and Trying to Not Mess Things Up

Programming *Delphi *Debugging *Development for Windows *

Have you ever heard of Image File Execution Options (IFEO)? It is a registry key under HKEY_LOCAL_MACHINE that controls things like Global Flags and Mitigation Policies on a per-process basis. One of its features that drew my attention is a mechanism designed to help developers debug multi-process applications. Imagine a scenario where some program creates a child process that crashes immediately. In case you cannot launch this child manually (that can happen for various reasons), you might have a hard time troubleshooting this problem. With IFEO, however, you can instruct the system to launch your favorite debugger right when it's about to start this troublesome process. Then you can single-step through the code and figure what goes wrong. Sounds incredibly useful, right?

I don't know about you, but I immediately saw this feature as a mechanism for executing arbitrary code when someone creates a new process. Even more importantly, it happens synchronously, i.e., the target won't start unless we allow it. Internally, the system swaps the path to the image file with the debugger's location, passing the former as a parameter. Therefore, it becomes the debugger's responsibility to start the application and then attach itself to it.

So, are there any limitations on what we can do if we register ourselves as a debugger? Let's push this opportunity to the limits and see what we can achieve.

Read more
Rating 0
Views 583
Comments 3

NTFS Reparse Points

Acronis corporate blog Development for Windows *
Translation
Hi, Habr. Here I have prepared for you a small guide about NTFS Reparse points (hereinafter RP). This article is for those who are just starting to dive into the Windows kernel drivers development. In the beginning, I will explain the theory with examples, then I will give an interesting task to solve.


Read more →
Total votes 11: ↑11 and ↓0 +11
Views 721
Comments 0

Don't spoil Desktop Software Engineers with your Mobile First solutions, think about it

Development for Windows *Design Desktop PC's
Sandbox

image


English translation of Philip Ranzim's post at his blog page here. (With author's permission)


Once upon a time, my girlfriend started using Instagram. She asked me to sign up for it and subscribe to it. I tried — I couldn't do it because you couldn't register at Instagram from a desktop computer. I then thought — how weird people are. Well, what kind of fool would make a software product that can't be used with a normal computer? They won't succeed, and this Instagram will be a marginal service for a bunch of strange women, who for some reason don't like desktops.


It has only been a few years, the market has put everything in place — and the biggest fool was me. And the geniuses at Instagram predicted how and where everything would develop. Today, most of the user applications are made primarily for mobile platforms. At best, they include a universal web client, which is still optimized for mobile phones. Because users love iPhones, not computers. Business people sat down, counted, and made a decision — let's make more money, let's have mobile First everywhere.

Read more →
Total votes 3: ↑3 and ↓0 +3
Views 1.5K
Comments 4

Powershell way to exclude folder from Defender list

PowerShell *Development for Windows *
Tutorial
To exclude some folder from the defender list can be used cmdlet Set-MpPreference
Manly, now you can stop reading, go to the PowerShell and update excludes:)
But if you are want to see how to perform this in more detail — welcome under the habrcut.

UPD: Added a script to add selected folder to excluded Defender locations (at the end of the post)
Read more →
Rating 0
Views 1K
Comments 0

Windows Native Applications and Acronis Active Restore

Acronis corporate blog Backup *Development for Windows *
Translation
We continue telling you about our cooperation with Innopolis University guys to develop Active Restore technology. It will allow users to start working as soon as possible after a failure. Today, we will talk about Native Windows applications, including details on their development and launch. Under the cut, you will find some information about our project, and a hands-on guide on developing native apps.

image
Read more →
Total votes 16: ↑16 and ↓0 +16
Views 908
Comments 0

Service for Active Restore or the Story of an Industrial Project at Innopolis

Acronis corporate blog Backup *Development for Windows *
Translation
Hello, Habr! My name is Roman. Today I would like to share a story of how we at Innopolis University developed a test stand and a service for Acronis Active Restore system, which will soon become part of the company’s product range. Those interested to know how the University builds its relationship with industrial partners are welcome to click the «Read More» button.

image
Read more →
Total votes 14: ↑14 and ↓0 +14
Views 666
Comments 1

Active Restore: Can we Recover Faster? Much Faster?

Acronis corporate blog Data recovery *Backup *Development for Windows *UEFI *
Translation
Backing up valuable data is a proven practice, but what if we need to continue work immediately after a natural disaster or other disruptive events, and every minute is important? Our team at Acronis decided to see how quickly we can start an operating system. This is our first post from the Active Restore series. Today I will tell you how we launched our project with Innopolis University, which solutions were studied, and what we are working on today. All the details are under the Cut.

image
Read more →
Total votes 15: ↑14 and ↓1 +13
Views 1.1K
Comments 0

Announcing Universal Print: a cloud-based print solution

Microsoft corporate blog Microsoft Azure Development for Windows *Cloud services IOT
Commercial and educational customers moving to the cloud with Microsoft 365 have long needed a simple, easy print experience for their employees. Today we are happy to announce a private preview of Universal Print, a Microsoft cloud-based print infrastructure that will enable a simple, rich and secure print experience for users and help reduce time and effort for IT.

Read more →
Total votes 2: ↑2 and ↓0 +2
Views 366
Comments 0

PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOps

PVS-Studio corporate blog Open source *C# *DevOps *Development for Windows *

Рисунок 1

We continue making the use of PVS-Studio more convenient. Our analyzer is now available in Chocolatey, the package manager for Windows. We believe this will make it easier to deploy PVS-Studio, particularly in cloud services. So right off the bat, we also checked the source code of the same Chocolatey. Azure DevOps took on the role of the CI system.
Read more →
Total votes 1: ↑1 and ↓0 +1
Views 398
Comments 0

How to Make Any Process Work With Transactional NTFS: My First Step to Writing a Sandbox for Windows

Programming *Delphi *System Programming *Development for Windows *

TransactionMaster One of the modules in the Windows kernel provides support for combining a set of file operations into an entity known as a transaction. Just like in databases, these entities are isolated and atomic. You can make some changes to the file system that won't be visible outside until you commit them. Or, as an alternative, you can always rollback everything. In any case, you act upon the group of operations as a whole. Precisely what needed to preserve consistency while installing software or updating our systems, right? If something goes wrong — the installer or even the whole system crashes — the transaction rolls back automatically.


From the very first time I saw an article about this incredible mechanism, I always wondered how the world would look like from the inside. And you know what? I just discovered a truly marvelous approach to force any process to operate within a predefined transaction, which this margin is too narrow to contain. Furthermore, most of the time, it does not even require administrative privileges.


Let's then talk about Windows internals, try out a new tool, and answer one question: what does it have to do with sandboxes?

Read more →
Total votes 3: ↑3 and ↓0 +3
Views 1.8K
Comments 0

Hyper-V for Developers on Windows 10

Microsoft corporate blog Programming *PowerShell *Virtualization *Development for Windows *
Hyper-V is more known as a server virtualization technology; however, since Windows 8, it is also available in the client operating system. In Windows 10, Microsoft improved the experience drastically to make Hyper-V an excellent solution for developers and IT Pros.
 
Microsoft Hyper-V, codenamed Viridian, is a native (type 1) hypervisor that directly runs on the hardware, compared to VMware Workstation, VirtualBox, and other type 2 or hosted hypervisors. It was first released in Windows Server 2008, and it allows you to run virtual machines on x86-64 systems.

As mentioned, with Windows 10, Microsoft optimized Hyper-V for developers. Hyper-V allows developers to quickly spin up development virtual machines on Windows 10 with excellent performance, but it is also used in a couple of other development features as a back-end technology, like the Android Emulator, the Windows Subsystem for Linux 2 or Docker Containers. In this article, we will have a quick look at what Hyper-V on Windows 10 can over for developers.
Read more →
Total votes 5: ↑5 and ↓0 +5
Views 4.3K
Comments 0

SARIF SDK and Its Errors

PVS-Studio corporate blog Programming *Visual Studio *C# *Development for Windows *

Picture 2

Today we have another high-quality Microsoft project to be checked, which we'll heroically delve into trying to find errors with PVS-Studio. SARIF, an acronym for Static Analysis Interchange Format, which is a standard (file format), designed to interact and share the results of static analyzers with other tools: IDEs, complex code verification and analysis tools (e.g. SonarQube), continuous integration systems, etc. SARIF SDK, respectively, contains .NET developer tools to support SARIF as well as additional files.
Read more →
Total votes 6: ↑6 and ↓0 +6
Views 416
Comments 0

Azure SDK for .NET: Story about a Difficult Error Search

PVS-Studio corporate blog Visual Studio *C# *Microsoft Azure Development for Windows *

Picture 2


When we decided to search for errors in the Azure SDK for .NET project, we were pleasantly surprised by its size. «Three and a half million lines of code,» we kept saying, studying the project's statistics. There might be so many findings. Alas and alack! The project turned out to be crafty. So what was the zest of the project and how it was checked — read in this article.
Read more →
Total votes 2: ↑2 and ↓0 +2
Views 630
Comments 0

Windows Terminal Preview v0.7 Release

Microsoft corporate blog System administration *GitHub Development for Windows *
Another release is out for the Windows Terminal preview! This release is labeled as v0.7 in the About section of the Terminal. As always, you can download the Terminal from the Microsoft Store and from the GitHub releases page. Here’s what’s new in this release:

Windows Terminal Updates


Panes


You are now able to split your Terminal window into multiple panes! This allows you to have multiple command prompts open at the same time within the same tab.

Note: At the moment, you’re only able to open your default profile within a new pane. Opening a profile of your choice is an option we’re planning to include in a future release!



Read more below.
Read more →
Total votes 3: ↑3 and ↓0 +3
Views 1.3K
Comments 0

Authors' contribution