Trending March 2024 # How To Profile A C Program In Linux Using Gnu Gprof # Suggested April 2024 # Top 5 Popular

You are reading the article How To Profile A C Program In Linux Using Gnu Gprof updated in March 2024 on the website Achiashop.com. We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested April 2024 How To Profile A C Program In Linux Using Gnu Gprof

Performance is one of the biggest challenges programmers face while developing software. That is the reason why code profiling is one of the most important aspects of software development, as it lets you identify bottlenecks, dead code, and even bugs. If you are a programmer who develops software applications for Linux, the GNU profiler “gprof” is the tool to look out for.

Download and Install

Gprof comes pre-installed with most of the Linux distributions, but if that’s not the case with your Linux distro, you can download and install it through a command line package manager like apt-get or yum. For example, run the following command to download and install gprof on Debian-based systems:

sudo

apt-get install

binutils Requirements

Before you use gprof to generate profiling data, make sure that your program executable contains extra information required by the profiler to function properly. This can be achieved by adding the -pg command line option while compiling your code, assuming that you are using the gcc compiler. If you are using separate commands for compiling and linking, add the command line option to both the commands.

Using gprof

Consider the following C program as an example:

void

func2

(

)

{

int

count

=

0

;

for

(

count

=

0

;

count

<

0XFFFFF

;

count

++

)

;

return

;

}

void

func1

(

void

)

{

int

count

=

0

;

for

(

count

=

0

;

count

<

0XFF

;

count

++

)

func2

(

)

;

return

;

}

int

main

(

void

)

{

printf

(

n

Hello World!

n

)

;

func1

(

)

;

func2

(

)

;

return

0

;

}

As described in the previous section, compile the code with the -pg option:

gcc

-Wall

-pg

test.c

-o

test

Once compiled, run the program:

.

/

test

After successful execution, the program will produce a file named “gmon.out” that contains the profiling information, but in a raw form, which means that you cannot open the file and directly read the information. To generate a human readable file, run the following command:

Flat profile and Call graph

If you open the file containing profiling data, you’ll see that the information is divided into two parts: Flat profile and Call graph. While the former contains details like function call counts, total execution time spent in a function, and more, the latter describes the call tree of the program, providing details about the parent and child functions of a particular function.

For example, the following is the Flat profile in our case:

Each sample counts

as

0.01

seconds.

%

cumulative self self total

time

seconds seconds calls ms

/

call ms

/

call name

100.00

0.94

0.94

256

3.67

3.67

func2

0.00

0.94

0.00

1

0.00

936.33

func1

The below is the Call graph:

index

%

time

self children called name

0.00

0.00

1

/

256

main

[

2

]

0.94

0.00

255

/

256

func1

[

3

]

[

1

]

100.0

0.94

0.00

256

func2

[

1

]

[

2

]

100.0

0.00

0.94

main

[

2

]

0.00

0.94

1

/

1

func1

[

3

]

0.00

0.00

1

/

256

func2

[

1

]

0.00

0.94

1

/

1

main

[

2

]

[

3

]

99.6

0.00

0.94

1

func1

[

3

]

0.94

0.00

255

/

256

func2

[

1

]

Some Important Points

To write the gmon.out file properly, your program must exit normally. The file is not produced when the program either exits by calling the _exit() function or abnormally terminates due to an un-handled signal.

The "gmon.out" file is always created in the current working directory. So, make sure that your program has sufficient privileges to create a file in the current directory.

An external tool by the name of gprof2dot can be used to convert the call graph from gprof into graphical form.

Using gprof, you can also produce an annotated source listing that gives an idea about the number of times each line of the program was executed. To produce this information, compile the program with -g (along with the -pg option explained earlier) and run the gprof command with the -A command line option.

Himanshu Arora

Himanshu Arora is a freelance technical writer by profession but a software programmer and Linux researcher at heart. He covers software tutorials, reviews, tips/tricks, and more. Some of his articles have been featured on IBM developerworks, ComputerWorld, and in Linux Journal.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Sign up for all newsletters.

By signing up, you agree to our Privacy Policy and European users agree to the data transfer policy. We will not share your data and you can unsubscribe at any time.

You're reading How To Profile A C Program In Linux Using Gnu Gprof

C++ Program To Construct Transitive Closure Using Warshall’s Algorithm

If a directed graph is given, determine if a vertex j is reachable from another vertex i for all vertex pairs (i, j) in the given graph. Reachable mean that there is a path from vertex i to j. This reach-ability matrix is called transitive closure of a graph. Warshall algorithm is commonly used to find the Transitive Closure of a given graph G. Here is a C++ program to implement this algorithm.

Algorithm Begin    1.Take maximum number of nodes as input.    2.For Label the nodes as a, b, c …..    3.To check if there any edge present between the nodes make a for loop:       for i = 97 to less than 97 + number of nodes          for j = 97 to less than 97 + number of nodes             if edge is present do,                adj[i - 97][j - 97] = 1             else                adj[i - 97][j - 97] = 0             end loop       end loop.    4.To print the transitive closure of graph:       for i = 0 to number of nodes          c = 97 + i       end loop.       for i = 0 to number of nodes          c = 97 + i;       for j = 0 to n_nodes          print adj[I][j]       end loop    end loop using namespace std; const int n_nodes = 20; int main() {    int n_nodes, k, n;    char i, j, res, c;    int adj[10][10], path[10][10];    cout << "ntMaximum number of nodes in the graph :";    n_nodes = n;    cout << "nEnter 'y' for 'YES' and 'n' for 'NO' n";    for (i = 97; i < 97 + n_nodes; i++)       for (j = 97; j < 97 + n_nodes; j++) {          cout << "ntIs there an edge from " << i << " to " << j << " ? ";          if (res == 'y')             adj[i - 97][j - 97] = 1;          else             adj[i - 97][j - 97] = 0;       }       cout << "nTransitive Closure of the Graph:n";       cout << "nttt ";       for (i = 0; i < n_nodes; i++) {          c = 97 + i;          cout << c << " ";       }       cout << "nn";       for (int i = 0; i < n_nodes; i++) {          c = 97 + i;          cout << "ttt" << c << " ";          for (int j = 0; j < n_nodes; j++)             cout << adj[i][j] << " ";             cout << "n";       }       return 0; } Output Maximum number of nodes in the graph :4 Enter 'y' for 'YES' and 'n' for 'NO' Is there an edge from a to a ? y Is there an edge from a to b ?y Is there an edge from a to c ? n Is there an edge from a to d ? n Is there an edge from b to a ? y Is there an edge from b to b ? n Is there an edge from b to c ? y Is there an edge from b to d ? n Is there an edge from c to a ? y Is there an edge from c to b ? n Is there an edge from c to c ? n Is there an edge from c to d ? n Is there an edge from d to a ? y Is there an edge from d to b ? n Is there an edge from d to c ? y Is there an edge from d to d ? n Transitive Closure of the Graph: a b c d a 1 1 0 0 b 1 0 1 0 c 1 0 0 0 d 1 0 1 0

C++ Program To Access Private Members Of A Class

Private members of a class are only accessed by the members of the class. This is done to preserve the object-oriented paradigm encapsulation, which ensures data and its related functions are kept in one unit and only accessible only from a member of that class. C++ has three different access specifiers to specify the visibility of the members of a class. The three access specifiers are −

Public − If a member of a class has the visibility public, then the members can be accessed from any other class.

Private − Class members having private visibility can be accessed from within the class only.

Protected − protected class members can be accessed from with9in the class or from its subclasses only.

For this article, we will focus on accessing private members of the class only.

Using getter and setter methods for data members

Getter and setter functions are used to access and modify the private members of a class. As the name suggests, the getter functions return the data members, and the setter functions are used to ‘set’ or modify the data members. We take two examples to understand the concept further, but before that the basic syntax is given below.

Syntax

Getter/ Accessor functions −

private: public: }

Setter/Mutator functions −

private: public: } Example

using namespace std;

class Test{ private: int value; public: int getValue() { } void setValue(int _value) { } };

int main(){ Test test; test.setValue(15); cout << “The value we set is: ” << test.getValue() << endl; return 0; }

Output The value we set is: 15 Accessing member functions from inside another function

The same thing holds when we are accessing a private member function. We have to access it from inside a class member method in the same way as we did for a data member. We can use the ‘this’ pointer for avoiding name collisions.

Syntax private: public: }

The function that is calling the private member function should be declared public. The function will only execute if the public function is called from the object of that class.

Example

using namespace std;

class Test{ private: int value; void multiplyValue() { } public: int multiplyAndGetValue() { } void setValue(int _value) { } };

int main(){ Test test; test.setValue(15); cout << “The value after setting and multiplying is: ” << test.multiplyAndGetValue() << endl; return 0; }

Output The value after setting and multiplying is: 150 Using friend classes

A friend class in C++ is a class that can access the private and protected members of a class that are not visible from any other class. To declare a class as a friend of another class, the keyword ‘friend’ is to be used. Let’s take a look at how it works.

Syntax class A{ private: ..... friend class B; }; class B{ }; Example

using namespace std;

class Test1{ private: int value; public: Test1(int _value) { } friend class Test2; };

class Test2{ public: void display(Test1 &t) { cout << “The value of Test1 object is: ” << t.value; } };

int main(){ Test1 test1(15); Test2 test2;

test2.display(test1); return 0; }

Output The value of Test1 object is: 15 Using friend functions

Friend functions in C++ are similar to that of friend classes. Here, we can declare a particular function that is not a member of a class as a ‘friend’ and it will gain the access to a class’s private members. Let’s take a look at the syntax of how to define a function as ‘friend’.

Syntax class A{ private: ..... }; } Example

using namespace std;

class Test1{ private: int value; public: Test1(int _value) { } friend void display(Test1); };

void display(Test1 t) { cout << “The value of Test1 object is: ” << t.value; }

int main(){ Test1 test1(55); display(test1); return 0; }

Output The value of Test1 object is: 55 Conclusion

When we are accessing the private data members of a class, we preferably use the accessor/getter and the mutator/setter functions. That is the safest way to access the data members of the class. One thing to be always kept in mind is that the functions that are accessing the private members should be declared as public. Friend functions are not available in other object−oriented languages because this does not maintain the object−oriented encapsulation property always. Friends are not mutual, if class A has declared class B as a friend, then class B will have access to all the members of A but A will not have access to all the private members of B.

Signposts Of Gnu/Linux Growth In 2007, Part 1

It is sometimes forgotten that GNU/Linux is more than just a desktop operating system. Linux, being a well-engineered kernel, is used extensively and also funded for its important role in several different areas of computing. One needs to look for evidence of growth not only in desktops. Judgment must be based on multiple areas where GNU/Linux gains traction. This ought to cover some disruptive trends that are yet to be reckoned with.

As time goes by, appliances might inherit the important role of traditional desktops. Mobile and ultra-mobile devices could gradually replace laptops and servers to become more predominant owing to Web-based software, which also moves storage toward the back end. Let’s explore how GNU/Linux fits this broader vision and discover just how ubiquitous it is, with growth consistently on the upside.

Supercomputers

In supercomputing, GNU/Linux has become extremely popular and sometimes irreplaceable. Its selection is a matter of scalability and reliability, not just cost. Among the world’s top computers, taking virtualization into account as well, Linux climbed from 86% installed base in 2006 up to 91% at the end of 2007. This relative growth in 2007 might not seem great, but it comes to show that GNU/Linux still tightens its grip on this domain, rather than loosen any. Inertia is likely to ensure that such domination is maintained, if not further expanded in years to come.

In the past couple of years, SGI, Sun Microsystems and Microsoft have all attempted to gain or regain ground in supercomputing. SGI conceded UNIX in favor of GNU/Linux, whereas Microsoft and Sun stuck to their guns and they have yet to demonstrate actual growth with Windows and Solaris, respectively. Based on the world’s top 500 computers, their ambitions led to very limited success. IBM’s AIX holds on to a share of 4.8%, Sun’s Solaris is at 0.4% and Mac OS X maintains 0.4%. GNU/Linux is still seen as a de facto platform in this domain. Faith in this platform is increasing owing to maturity and its hard-earned reputation.

Mobile Phones

EDN highlighted the success of Linux in mobile phones last year. It pointed to exceptionally high popularity in Asia thanks to NEC, Panasonic, Motorola and others. In 2006, Linux was said to have powered approximately a quarter of all feature phones shipped in the previous year, according to market analysts cited by Webb. Growth seems to have been persistent since then, but there was one barrier that was finally passed in 2007.

All in all, in the mobile space, growth continued at a rapid pace, especially in Asia. The effect of LiMO and Google’s Android is to be seen in years to come. Google has already spent hundreds of millions of dollars on its endeavors in the mobile space, the company’s spectrum-related investments aside. We shall see the first product that uses Android in the first quarter of next year. Many large companies will be actively involved and HTC might lead the way.

Desktops

On the desktop, the outlook seems increasingly bright. Two independent user surveys, one from chúng tôi and another from the Linux Foundation, saw participation more than doubling in just one year. This indicates strong growth that cannot normally be measured. When it comes to free software, obtaining absolute numbers is different from studying trends. If you extrapolate these figures, as some industry watchers have already done, then it’s almost safe to assume that the presence of GNU/Linux on the desktop has doubled in the past year.

In 2007, several major OEMs (Original Equipment Manufacturers) such as Dell, Acer, Hewlett-Packard, Lenovo and Epson have all begun offering GNU/Linux options for PCs that they stock. Other companies such as Toshiba have spoken in the press about the possibility of offering such choice in the near future.

Preinstalled GNU/Linux became more commonplace among smaller computer shops too. Some attribute this trend to Windows Vista backlash and — in particular — its steep hardware requirements that elevate cost. It appears like only a matter of time before offering GNU/Linux as an affordable option becomes the norm everywhere. With availability, a system that was once perceived as ‘exotic’ or a hobbyist’s choice suddenly becomes mainstream.

Wal-Mart’s offer of the Everex gPC was a success. They sold out within a couple of weeks and this was not an isolated incident. Dell’s sales figures of GNU/Linux PCs exceeded the company’s initial expectations as well, so they expanded their offers to more models and brought GNU/Linux options to more parts of the world. 2007 will be remembered as the year when GNU/Linux became not only available, but also properly preinstalled on desktops and laptops by the world’s largest companies.

Low-end Laptops and Tablets

In recent months, a wave of highly anticipated laptops finally arrived. Some insist on calling them gadgets because they are on the verge of being intuitive and affordable enough to suit every person and even be sold over the counter just like any consumable electronic item. These laptops are small and their use of GNU/Linux permits them to use modest hardware that is inexpensive. The Linux-based Eee PC is probably the most recent example.

It was only a couple of months ago that ASUSTek introduced the Eee PC, whose sales figures have so far exceeded the company’s initial expectations. It soon became one of the most sought-after Christmas gifts and the company cannot manufacture these fast enough to meet overwhelming market demand. Just before Christmas, the company revised its sales forecast positively, made this product its second-most valuable asset, and even predicted that it would occupy a 20% market share among laptops within years.

The Eee PC is just one among several success stories that involve portable low-end products. They all happen to be Linux-based for a reason. Other similar laptops and tablets include: Zombu notebook (powered by Gentoo Linux), Nokia’s Internet tablets (running the Debian-based Maemo), Intel’s ClassMate (running Mandriva Linux) and PepperPad. Even Wal-Mart is poised to deliver a notebook equivalent of the Everex desktop mentioned above. It will be called Cloudbook.

makes another case study that isn’t very ordinary. It is misunderstood by those who review it because its target audience is underprivileged children in parts of the world where computing is more rare. The laptop is highly innovative — and thus it seems almost outlandish — but at the same time a not-for-profit organization stands behind it. The laptop, which runs XO on top of Fedora Linux, strives to reach children all across the globe and become a universal educational tool. It is proving quite popular even among adults in United States where it is sold under the ”Give one, get one” program (closing at the end of this month, so you can still order yours and help bridge the digital divide).

New laptops of this kind keep coming at a rapid pace, owing to relatively low and ever-decreasing costs that are associated with producing hardware nowadays. This makes other expenses — any expenses for that matter — highly undesirable. Costs that are tied to software should constantly be escaped for a competitive edge, so manufacturers find haven in free software. Such new imbalance between the cost of hardware and software typically promotes the use of GNU/Linux.

Program scale and ‘weight’ (and therefore speed of the software) come into play also. Since Linux presents a flexible platform that facilitates tweaking, things like complexity, battery consumption and various other aspects are easier to have customized. Amazon’s Kindle, for example, runs Linux and it employs an underlying design that exploits this key trait. It reduces consumption of battery power, thereby increasing its actual capacity. Generic and rigid systems cannot achieve this without considerable investment.

Consoles

handheld is definitely worth mentioning. It is one of the most hackable Linux-based consoles of its type and there are other similar gadgets such as the Sony Mylo, which came to the limelight in 2007. (Part 2 of this article will discuss such devices in greater depth.)

When it comes to next-generation consoles, GNU/Linux is never left neglected. A full-blown platform can trivially be installed on the PlayStation 3 and hacks also exist which enable GNU/Linux to run on Nintendo’s Wii and Microsoft’s XBox360. The latter requires a firmware downgrade, however, and it is not considered quite so ethical. By all means, it does demonstrate the versatility and adaptability of the Linux kernel. There is almost no electronic circuit that Linux is unable to cope with nowadays. The kernel supports literally dozens of different architectures.

Media Players and Set-up Boxes

There are many examples of the use of GNU/Linux in media (e.g. video, audio, pure graphics). The MythTV family, for instance, is cutting-edge free software that can turn old PCs into powerful media servers and set-up boxes. Pre-built appliances already exist for those who cannot handle the complexity of installation. 2007 gave birth to several businesses (mostly system integrators) that capitalize on the need for support in this space.

Many commercial equivalents thrive without their users paying attention to the underlying system. Tivo is an excellent example of this because it runs Linux at its heart. Tivo customers are usually oblivious to this fact.

Among televisions, including consideration for IPTV, some have called Linux a de facto choice. Rarely does it get the attention of ordinary viewers to whom a box is just a box, no matter what programs run on it.

The next part of this article, which covers embedded Linux and also Linux devices, covers more about portable audio players and film production. This first part of the article presented just some of the many areas where the use of GNU/Linux continues to grow. The next part puts greater emphasis on areas of Linux growth that are more remote from people’s sight. We will cover growth in devices, robotics and servers, including large-scale services powered by mainframes and cloud computing.

How To Create A Public Profile On Snapchat In 2023

Things to know before you make a Public Profile on Snapchat:

Others can find and follow your Snapchat Public Profile.

The user must be at least 18 years old.

The Snapchat account must be at least 24 hours old and not have any community standards violations.

At least one user should add you as a friend.

The Public Profile feature on Snapchat is not available in every region. So if you can’t find it, the feature is unavailable in your region.

A lot of us use Snapchat to share photos with friends and family. But did you know you could make your snaps public so anyone can watch them? Snapchat offers a great feature called Public Profile. Previously, only verified accounts could get Public Profiles on Snapchat. But now, anybody can have one. So, let’s find out how to create a Public Profile in Snapchat on iPhone or Android phone.

What is Public Profile on Snapchat?

Usually, on Snapchat, your photos and videos are only shared with contacts whom you added as friends. However, many businesses use the social media platform to promote their products, and celebrities use it to grow fan followings via Public Profiles. Well, now you can also enjoy having a fan following. 

Your Snapchat Public Profile will show up in the app’s Search and Browse pages as well as Snapchat Spotlight. Also, it packs more tools to make your profile stand out. Other users would be able to follow you, and you may display the number of followers you have. Additionally, you can will still privately share stories with friends without making them public.

Why should you get Public Profile on Snapchat?

As stated before, Public Profiles help you to grow your audience. Besides, you can add a bio, your business info and its location, a subscription choice, and a website link. Besides, it allows you to post public stories and highlights of your snaps. Moreover, you may share shopping links to your e-commerce site and create your own Snapchat Lenses. 

Similar to the professional account on Instagram, Snapchat provides data on your content’s audience, demographics, the number of views and view duration, etc. The best part is you may create a friends list to divide them from your subscribers. So, while sharing private stories, you will not mix up. Cool, right?

How to make a Public Profile in Snapchat on iPhone or Android

Launch the Snapchat app on your iPhone.

Tap your profile at the top left corner.

A new page will open. Choose Continue and Get Started.

It will create a public profile on Snapchat. Now tap My Public Profile to access your public profile. From here, you can customize it and see all your posts.

How to edit a Snapchat Public Profile on iPhone or Android

Once you complete setting up your Public Profile, you will get access to many exciting features. You may add a cover photo, bio, and other public information for your fans to increase the visibility of your profile. 

Also, the Highlights and Lenses let you create high-quality content to get more views. Your subscriber can report, recommend and share your profile. So, you must edit it to improve its attractiveness.

Open your profile by tapping your Bitmoji.

Tap My Public Profile.

Here, you’ll get a handful of options. Let’s explore them.

To add/change your profile picture: Tap the camera icon, choose a picture from Camera Roll, and tap Save Changes.  

Write a bio: Select the text box labeled Tap to add Bio and write a short 150-character description about yourself. 

To show your location: Tap Location and enter your City, State/Province, and Country. When done, just go back to the Edit Profile page. 

Reveal your followers’ number: Snapchat lets you display the number of your followers. Just toggle on the Show Subscriber Count option.

Check how your profile looks: After you have added all of the above, tap Preview Profile. 

How to save a story or Spotlight to your Snapchat Public Profile

Open your profile by tapping your Bitmoji → Tap My Public Profile.

Tap Save a Story to Your Profile and choose a snap or image from the camera roll. 

Choose Next and add a title and cover for your highlight. 

You may also add Lenses to your Public Profile. For that, create a lens and upload it on Lens Studio. After its published, Snapchat will automatically add it under the Lens tab.  

How to share your Public Profile on Snapchat

Go to My Public Profile and tap the three-dots icon at the top right corner.

Then tap Share Profile URL.

How to delete Public Profile on Snapchat

If you don’t want to continue using your Public Profile, you may delete it.

So, that’s all, dear Snapchatters!

Explore more…

Author Profile

Ava

Ava is an enthusiastic consumer tech writer coming from a technical background. She loves to explore and research new Apple products & accessories and help readers easily decode the tech. Along with studying, her weekend plan includes binge-watching anime.

How To Fix A Corrupt User Profile In Windows 10/11

How to fix a corrupt user profile in Windows 10/11

771

Share

X

Gaining access to your user profile means that you will always log in and find your PC set up just the way you like it, with settings and preferences accustomed to your needs.

Errors and corruption can make profiles become inaccessible, and this guide covers some of the things that you can do when that happens.

This article is part of a much larger hub regarding User Profile Errors, so don’t hesitate to visit it if you ever encounter such problems again.

Take a look at our dedicated User Profile page for more interesting articles on the matter.

X

INSTALL BY CLICKING THE DOWNLOAD FILE

Try Outbyte Driver Updater to resolve driver issues entirely:

This software will simplify the process by both searching and updating your drivers to prevent various malfunctions and enhance your PC stability. Check all your drivers now in 3 easy steps:

Download Outbyte Driver Updater.

Launch it on your PC to find all the problematic drivers.

OutByte Driver Updater has been downloaded by

0

readers this month.

Having a corrupt user profile on Windows 10 usually prevents you from logging in to Windows when booting your PC. This problem is usually signed by an error message.

Most people using Windows 10 usually create a user profile when they first install the operating system or they log in from the administrator account if they are the only ones using the PC.

Having a user profile on Windows 10 helps you customize your own settings when you login like the desktop theme, the installed programs you need only on that user profile or modify the sound settings of the system to your liking.

These are just a few features you might find useful that you can customize on your own user profile. Seeing that a lot of Windows 10 users are having trouble relating to corrupt user profiles I have decided to show you in a short tutorial below how exactly we can fix this issue.

How do I fix a corrupt user profile in Windows  10?

There are two ways we can fix corrupt user profile issues on Windows 10. The first method is to try and fix the corrupt user profile. This involves creating a new user profile from your administrator account.

1. Fix corrupt user profile using Regedit

We need to sign into the Administrator account at the start of the PC

If you do not have an administrator account active do the following: Boot into Safe mode, enable option built-in administrator, sign out and sign into administrator

Press Window button plus the R button (Windows + R)

In the Run dialog window you opened type in there regedit.

On the right side of the window you should have there ProfileImagePath, look at the value on the right of that name to see if you have the same user profile name you cannot access.

Now navigate to

C:Users

in File explorer and see if the name of the account you have there matches the name you have in the

ProfileImagePath

presented above.

Write the name you have in C:Users exactly as you have it in the ProfileList folder.

Delete the .bak you have in the name and press Enter on the keyboard.

Add .bk at the end of S-1-5-21-273154420-267531419-3735073706-1014 and press Enter on the keyboard.

Press Enter on the keyboard.

Press Enter on the keyboard.

In the Edit DWORD window under Value data write zero 0 

Do the last four steps above for the S-1-5-21-273154420-267531419-3735073706-1014 with .bak extension.

After you are finish close the Registry Editor window and reboot the PC.

Try to log into the account that you were having troubles with and see if it works.

Expert tip:

2. Create a new user profile

Log in with your administrator account (the steps are presented in the first tutorial).

Back up everything you don’t want to lose in the

C:Users

the user account you want to delete by copying it to another location on the hard drive.

Press and hold

Windows

button and the

R

button.

In the Run dialog box you opened type

regedit

If you get a message from User Account Controls UAC select Yes .

In the Registry Editor window on the right navigate to HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/ProfileList .

On the right panel look next to ProfileImagePath on the Data tab to see if there is the same user profile with problems.

If not , select the other S-1-5-21-273154420-267531419-3735073706-1014 without the bak extension.

After you deleted the folder exit the Registry Editor window.

Restart the PC and try to sign into the user profile you had problems with, if successful you will need to copy back the files you had moved to another location (step 2).

3. Fix corrupt user profile on Windows 10

A user profile cand also be fixed if not too damaged.  For more information, check out this dedicated guide on how to fix corrupt user profile issues on Windows 10.

There you have it, here are two ways you can try to sign in to your problematic user profile on Windows 10. If you’ve come across other solutions to fix this problem, feel free to list them below.

Was this page helpful?

x

Update the detailed information about How To Profile A C Program In Linux Using Gnu Gprof on the Achiashop.com website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!