I have a requirement for developing a debugger extension for Visual Studio. The code is in C++, however, it is run in a simulator environment. The application is capable of receiving break points and displaying variable information.
I have looked into the Concord API, but it seems rather complex. Do I have to develop an Expression Evaluator, even though the code is in C++?
Basically I just want the program to run and hit the breakpoints that the user has created for starters.
Should I try and write a visual studio extension instead? Although I don't see any way of halting execution of a program in debug mode?
Thanks
Ah the joy of writing a custom debugger! I'm writing one now. See the visual studio custom debug engine sample to start with. Python Tools for Visual Studio, MIDebugEngine are more complex but also more complete and production code. Much easier to write the debugger in C#.
Some blogs that helped me a lot.
https://limbioliong.wordpress.com/2011/08/30/creating-a-com-server-using-c/
https://blogs.msdn.microsoft.com/jmstall/2009/07/09/icustomqueryinterface-and-clr-v4/
VS2005 SDK PDF has more detailed debugger documentation.
VS2015/17 C# Extension projects has a custom project type package which comes with a script debugger launcher to start with.
Well I have been stuck trying to successfully run code from "Stroustrup"'s book starting chapter 12, since I have tried everything to run it on windows visual studio 2015 I was wondering if I could somehow download a compiler which had all the fltk + gui things integrated on it so I could just straight start putting the code for the visuals, and if so what compiler would you recommend.
cheers
I'm pretty sure there is no such a compiler.
What you can use is the FLUID tool, that comes with FTLK (you must compile it). This tool allows for building GUI's in a rather visual way and generates the C++ code.
This is the official documentation: http://www.fltk.org/doc-1.3/fluid.html
You can also find tutorials on youtube
I would like to use VC2010 to handle a BCB 2006 project I have. I do not want to convert the code to VC since much UI will need to be ported. I just want to be able to view build & debug from VS IDE.
Viewing: I assume once I create VS projects for the native BCB code viewing will be possible, although the UI editor will not.
Building: I found the "C++ Native Multi-Targeting" option of VS, although I'm not sure on what to set the different options there to (Daffodil is mentioned as helpful although I'm not sure what the added value is over existing functionality).
Debugging: not sure how to do this at all from within VS. There are some stand alone console tools that convert debug info files e.g. tds2pdb (wheres the documentation link?).
If anyone has experience with such a task I would thank you for any advice.
No. The C++ Builder IDE is a stand-alone, separate Win32 executable that has nothing to do with VC or Visual Studio, and can't be embedded in it in any way. You'll have to use C++ Builder itself to view, build, and debug it's apps; there's no way to do so as part of Visual Studio.
Even simply using the C++ Builder code will most likely not be possible if there is any UI involved at all. C++ Builder's GUI components are based on the Visual Component Library (VCL) that it shares with Delphi, and therefore it uses a Delphi Object Pascal compiler to build those parts of the application. There are also data types and set operations that VC will not understand or support, and some special #pragmas and #hppemit statements the VC compiler wouldn't be able to use.
Visual studio 2012, being run under desktop mode under windows 8. Doesn't share the look of other windows 8 desktop applications.
How was this GUI achieved?
Did Microsoft scrap MFC/Winapi altogether (since its so different) and use Direct2d to create the custom gui? Or, have they just made calls to Winapi to customize it they way it looks?
Is there any shortcut for us developers to implement the vs2012 theme in our applications? Using the MFC Application template wizard we can chose from many themes but no vs2012 alike is available.
Indeed, Visual Studio 2010/2012 leverages WPF.
LEVERAGING WPF
WPF utilizes DirectX. WPF attempts to provide a consistent programming model for building applications and provides a separation between the user interface and the business logic. WPF leverages XAML, which is a declarative markup language. XAML stands for eXtensible Application Markup Language, which is based on XML. XAML is designed as a more efficient method of developing application user interfaces
ITS ABOUT MULTIPLE DOCUMENT WINDOWS AND FLOATING TOOL WINDOWS
Visual Studio was written to support multiple document windows and floating tool windows.
GREAT LIBRARIES ARE AVAILABLE
Codeplex provides a library to model the multiple document windows.
http://wpfmdi.codeplex.com/
There is also a docking library you can leverage:
http://avalondock.codeplex.com/
MEF IS USED HEAVILY
The internals have been redesigned using Managed Extensibility Framework (MEF).
MEF allows application developers to discover and use extensions without messing around with configuration files.
MEF allows you to easily encapsulate code and avoid fragile hard dependencies.
This allows developers to create add-ins to modify the behavior of the IDE.
DESIGN GOALS
In Visual Studio 2012, a one change is that the interface uses of all-caps menu bar.
Some design goals include reduced clutter and visual complexity by removing excessive lines and gradients in the UX.
The UI has been modernized by removing outdated 3D bevels.
You can take Spy++ which comes with Visual Studio and inspect the windows/class names of the application. If you do it with VS 2008, it's obvious that it's MFC. If you do it with VS 2010 and later, you will see that it's all WPF stuff--no MFC involved.
I have never done any Windows coding and I would like to give it a try. To create a simple application e.g. a window that displays a plain "Hello World" message.
What IDE (open source?) would I need to start of with and what language is used for the native Windows applications?
This is not for professional use, just for an amateur.
I'd recommend going for Visual Studio Express, you can use c#, Visual Basic (VB.NET) or c++, it's free and easy. It also makes the step to the larger Visual Studio simple if you're ever going to do that.
check out Microsoft Visual Studio Express
edit: added VB.NET
Since i'm editing anyway, how about some additions; If you prefer opensource you could also look into SharpDevelop (c# and boo) and/or monodevelop (c#, but better for linux/multiplatform, not so great for just windows imho but yout mileage may vary)
edit: 6 years later.
Microsoft has, in the mean time, provided us with Visual Studio Community Edition, which is in essence a complete Visual Studio professional, but free (some restrictions do apply). I do believe this is now the absolute best way to develop most non commercial, and possibly some commercial, Windows oriented projects you can get.
notepad + .NET Framework + cmd
type:
using System.Windows.Forms;
public class HelloWorld
{
public static void Main()
{
MessageBox.Show("Hello, World!");
}
}
save as %WINDIR%\Microsoft.NET\Framework\vX.X.XXXXX\hello.cs
open command line
cd %WINDIR%\Microsoft.NET\Framework\vX.X.XXXXX
%homedrive%
compile:
csc /target:winexe hello.cs
run:
hello
If you're looking for open source IDE I recommend Eclipse with plugins or MonoDevelop (wikipedia).
There are a lot of IDEs out there, if you want to develop for windows I'd recommend .net and the free "express" series of Microsoft tools.
If you're new to gui programming, Shoes is a fun way to pick up some of the concepts as well as learn some ruby along the way. It's primarily a learning tool however, so you'll need to eventually pick up Visual Studio (or something similar) when you're ready to develop a functional windows app.
Edit: I see you've done some programming in linux from one of your comments, so this might be a bit too rudimentary for you. For anyone new to programming and wanting to try their hand at a windows program, Shoes is worth looking at. The free version of Visual Studio is definitely what you'll want to check out, or alternatively you could continue to work in Eclipse on windows, as you're already familiar with it.
Try either AutoIt or AutoHotkey. I personally recommend AutoHotkey.
For LOTS of sample (and useful!) scripts, visit this page: http://www.donationcoder.com/Software/Skrommel/
You could look into VBScript, using notepad to edit the code. It is quite simple to program with, and there are a lot of examples.
Hello World would be done by placing the following into a file called HelloWorld.vbs and double clicking it from an explorer window.
MsgBox("Hello World")
A message box with hello world will then display.
There is wxDev-Cpp IDE (google for it). It's great for small apps. It's based on wxWidgets, so you also get portability for free.
If you're looking for Open Source and cross platform compatibility I would look at Eclipse. However if you simply want "free" I would also look at IntelliJ IDE which is designed for JAVA development and is also cross platform but not Open Source. They offer some free licensed versions.
You don't have to use an IDE to create a Hello World gui application.
Libraries like Qt, wxWidgets, GTK+, etc, allow you to write such programs, and their tutorials usually have some sample "hello word" programs.
UPDATE
I believe most GUI libraries (try to) maintain platform native look and feel; or at least that's what the docs say.