VS 2008 Get The Memory Used By An Object?
Oct 13, 2009Was just wandering how i can get the memory usage consumption for a list or class or another object from within my app?
View 2 RepliesWas just wandering how i can get the memory usage consumption for a list or class or another object from within my app?
View 2 RepliesAm trying to debug an application written by someone else. The issue is we get an "Out of Memory" when executing the following code
[Code]...
I cannot use Visual Basic 2008 at all. When I go to "new project" and choose "Windows Form Application" I get this error.I have tried multiple uninstall/reinstall with no result.A microsoft reply to this suggested that I needed: " .NET Framework 2.0 Service Pack 1 " I checked, and I did not have the .netframework 2.0 service Pack 1.
When I tried to download and install the above from Microsoft.com, the istaller said that "it was not allowsed" and I was not able to install the service pack 1.
I tried Uninstalling net framework 3.5, 3.0, 2.0 and then reinstalling .netframework 2.0 sevice pack 1; then reinstalling Visual basic 2008 express edition. At the reinstall of Visual basic 2008, .netframework 2.0 sevice pack 1 is unistalled by .net framework service pack 2.When I check the foruims for simiar problems, the formus are mostly for Visual basic 5.0, or other programs that I do not have.
Here is the programs I have installed:
Operating system: Windows XP
Microsoft .net framework 1.1
Microsoft .NET framwork 1.1 Hotfix(KB928366)
Microsoft .Net Framework 2.0 Service Pack 2
[code]....
All the security updates and hotfixes for Widows XP.
I'm trying to pass a business object from one WinForm to another WinForm for modification, and then repopulate the text boxes, etc. on the first form with the updated values.However, it seems that the object values set in the second form are not "sticking" when the code control returns to the first form.Is there a way to view the memory location of an object in VB.NET? I want to first make sure that the object variable on the second form is pointing to the same memory address as the object on the first form. Then I can take it from there.
In a separate VB project, I passed a simple object to a second form, modified the values, and re-displayed the object's values on the first form. It worked fine. In my real app, I'm passing an object that is a property of another object, which may be why it isn't working.SOLUTION: The problem was that I was using a DeepCopy() function that I found to simplify copying the properties of one object to another. Removing that function and manually setting the values to the passed object on the second form (ex. obj.property1
I have a program which writes real time test data to RichTextBox controls in the GUI. All was well until my latest round of updates which seem to have produced a memory leak which I am having trouble stopping. I have a class which writes and formats the text in the RTB
[Code]...
i wanna know for example if you have a few functions that actually creates a new sqlcommand in it and disposes them after use or is it better to have an sqlcommand at the main function and pass the sqlcommand in byref . and after using it. Juz clear the commandtext and the parameters.[code]
View 14 RepliesIn VB 2005, I am calling a C++ DLL function that returns the address in memory and size in bytes of a jpeg image. How can I load that jpeg image directly from memory into a picture box in my VB form? I cannot afford to save it to disk first.
View 10 RepliesIm getting a problem with one of my programs I have made in visual basic.NET where it gives me a memory error when i debug the program in the IDE. the exact error is this: "Attempted to read or write protected memory. This is often an indication that other memory is corrupt". My program basically has a few forms with text fields on that get their text values from an access database on the same hard drive. Im wondering if im doing something wrong because my program just seems to eat up memory whenever it does anything. For example I have one form that has a combobox on it and when you change the drop down list selection it retreives a few strings from the database and puts them into the relevant text boxes, if you keep changing the selection then the memory usage (in task manager) just keeps going up and up. occasionally I get the error mentioned above when debugging but in my built version of the program it throws an exception everytime the memory usage gets past 49K.
Also I noticed when debugging in the "immediate window" frame I get the following message often:A first chance exception of type 'System. Invalid OperationException' occurred in System.Data.dll...Do I need to somehow be "releasing" the memory that is used to gather data once it becomes redundant?
I am using the following code
This error occurs :
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Public Class FormRegEnumValue
[CODE]......................
QuoteSystem.AccessViolationException was unhandled Message="Attempted to read or write protected memory. This is often an indication that other memory is corrupt." Source="System.Windows.Forms"
Im designing a web browser and i continue to receive this error after going to about 3 websites it crashes with that error.
I have a BackgroundWorker object that I instantiated to perform a DB process on a background thread ansynchronously. I have event handlers for DoWork and RunWorkerCompleted. I can tell that the BackgroundWorker is disposing of itself because I added a message box into the Disposed event handler.Is it necessary to detach the event handlers to ensure that the memory is cleaned up and that there are not memory leaks?
View 1 RepliesI've noticed that every time I start a new thread in my program, the memory usage jumps about 1000k and it never goes back down. I have ensured that the thread is no longer running, and only one instance of my worker thread is ever running at a time. I am using ThreadPool.QueueUserWorkItem and ASyncOperation to get stuff done. The program starts using a Sub Main in a module that uses STAThread; I read that using STAThread instead of MTAThread makes it impossible for the Garbage Collector to get in and consider objects for garbage collection. However, when I change the STAThread to an MTAThread, the WebBrowser control in my frmMain cannot be instantiated.
I get this exception:
Code: An unhandled exception of type 'System.Threading.ThreadStateException' occurred in System.Windows.Forms.dll
Additional information: ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment. I do threading with the WebBrowser control, so will using MTAThread fix my problem? If so, how should I partition my code so that the WebBrowser control won't be affected by the above exception? I call the thread repeatedly with a timer (although only one instance ever runs at a time), and my program's memory usage starts at about 5000k and can jump to 300,000k+ depending on many times the thread needs to be called.
The follow code can be called about 6K times on the server it is run on then gets a out of memory error in the last catch statement. I don't see what is wrong with the code, it works well up until the out of memory..
Public Function AddUserToGroup(ByVal sSamAccountName As String, ByVal sGroupName As String) As Boolean
Try
Dim returnStatus As Boolean = True[code]......
I have two forms, Form1 and Form2. Form2 has a button to show OpenFileDialog. I call Form2 from Form1 by a button. My startUp Form is Form1. When i start debugging, i press my Form1's button to show my Form2, it shows, but when i click On Form2's Button to show OpenFileDialog it is giving me exception that
"Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
When i set my startup Form to Form2 and click Form2's Button to show OpenFileDialog then it shows!
The issue is when I try to add a new item to the ArrayList with the following code, it gives me an error:
vb Private Sub btnLabelAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLabelAdd.Click
Dim result As String = InputBox("New Filter Label:", "Label List")
[CODE]................
Object reference not set to an instance of an object.
I'm not really sure what I'm supposed to be doing with this. It's a new setting I just added and it's empty, so I'm not sure if that has anything to do with it or not. Anyone know what's going on and what needs to be done to get it to accept a value and not want to be "initialized"?
I have recently gotten my hands on a free, open-source IMAP connection API.So far, I have been successful in creating a connection to one of my accounts.Where I'm getting stuck is retrieving folders and/or emails from those folders.Does there happen to be anyone here that is familiar with this API, or even Gmail (particularly the folder structure for IMAP)?
If not, here is a link to the DLL that is listed on sourceforge and the company's website that created it (if you feel like testing):
Koolwired
Sourceforge - Koolwired API
I have created a test account so feel free to use the code below without worrying about username/password issues; I'll just delete it when I'm done with it.Here is the code I have made so far for making a connection:
Dim gSession As New Koolwired.Imap.ImapConnect("imap.gmail.com", 993, True)
Dim gAuthenticate As New Koolwired.Imap.ImapAuthenticate(gSession, "imap_test@serysoft.com", "imap_test")
Try
[code]....
When I run that code, I get an error that states:System.NullReferenceException: Object reference not sent to an instance of an object. (The bold line in the above code).
Now, I'm not sure exactly what that means. Does that mean it tried to access the server and "INBOX" doesn't exist so it gets returned a NULL value? Or is it possibly the coding itself?Maybe the Gmail folder system is weird due to the fact they use labels (even though from what I have read online, the labels act as the folders in the IMAP system).
What is the problem in below code.
d Public Sub filltextbox(ByVal dlist As String) Dim tb As TextBox = CType(Page.FindControl(dlist), TextBox) tb.Text = "hello" End Sub
Error : Object reference not set to an instance of an object.
look after the error i'm having.
module1.vb
Imports System.Data.SqlClient
Module dbconn
[code]....
When I importing multiple files from open files dialog ..sometime in random cycle jumping exception out of memory.Take look in the code..and say why this exception exist ?
[Code]...
I create one function to run any select query. and return the OdbcDataReader type.But some time if there is no data it through error : Object reference not set to an instance of an object I need to know how i can control if there is no data.
Public Function Select_From_AnyTable(ByVal sqls As String, ByVal ConStr As String) Dim conn As OdbcConnection conn = New OdbcConnection(ConStr) Dim cmd As OdbcCommand = conn.CreateCommand() conn.Open() cmd.CommandText = sqls Dim reader As OdbcDataReader = cmd.ExecuteReader While reader.Read() Return reader End While conn.Close() End Function Dim ei As OdbcDataReader = Select_From_AnyTable("SELECT loginname from usertable limit 1", conStr) msgbox(ei.item("loginname "))
If there is data it work well but if no record found it through the error.
Is there a way to convert a DataGridViewRow object to a DataRow object?
View 2 Repliesi have drawn on a e.graphics object and now want to transfer the drawn stuff onto a bitmap object how can i do this?
View 2 RepliesLike every other program that you make when you code a button to open the next form it should open right. Well not in my case. I don't understand the problem that Visual Basics is not seeing my next form that I'm trying to open. When its in the Solution Explorer plain as day. Error below.An error occurred creating the form. See Exception.InnerException for details. The error is: Object reference not set to an instance of an object.show is not set to a object. All its doing is opening the next form. Ive use this code over an over. Now its giving me this C.O.S. error.
View 27 RepliesBasically all I am trying to do is to insert data entered in a text box(description) on the application form into database(sql2008) in vb.net. The vb code I wrote is below:
vb.net
Protected Sub Save_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Save.Click
Dim note As String = Description.Text
[code]....
However when I click on save button, I get following message:
System.NullReferenceException: Object reference not set to an instance of an object.
What in this code might be causing this??This part of the code is Hilighted as causing the error.
My.Settings.Item(Holiday_" & i) = DirectCast(Me.Controls("ComboBox" & i.ToString), ComboBox).SelectedItem
Public Sub btn_Update_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
[code].....
I found this code and wanted to know when, where and why I would use it?
vb Declare Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal process As IntPtr, ByVal minimumWorkingSetSize As Integer, ByVal maximumWorkingSetSize As Integer) As Integer
Public Sub FlushMemory()
Try
[CODE]........................
I have a Flash Calculator made for specific calculations. I can't extract values automatically, because it doesn't allow copy and paste. However, I know handler and address for those values, how can I get them in to my program?
View 18 Replieshow to read memory with VB. I want to start with Basic Mind Sweeper game. In mind sweeper if you set default greed/field (9 by 9) you can find all mines location of in memory from Address 01005360 to 01005468. Hex dumb 8F represents a mine. write a program in VB.Net 2008 that will display Hex Dumb of address 01005360 and 01005368 for mind Sweepers . So Basicly I need put all hex dumbs in string from hex dumb "10" in adress 01005360 to the next hex dumb "10"
View 5 RepliesI have a need to monitor available memory while my application is running, as a hard number and compared to available memory. How can I do this?
View 5 RepliesI have an application (i've been working on for a long time) that has many tabs and controls and quite a few components And a good deal of design code. And a list box that has around 100k items (i had to put a loader to pass the 3-4 seconds while its loading to prevent it from not-responding)I had a few Gc.collect calls in specific places (mostly after many items are added or removed). When my application loads, i call GC.collect only once at the end of the load. The program consumes around 35K memory by the time its loaded. However, i decided to mess around abit (don't worry i made backups)First i started putting gc.collect in some random places, and to my surprise the memory upon loading was observably decreasing. Then I went ahead and put a macro that puts GC.Collect before every End Sub, Exit Function, Exit Sub, and Return value, there is. Basically every block in my application had atleat one GC.Collect.
I fixed some 6 or 7 silly replace errors and compiled. When the program launched, the memory used at the end of launch was 21K!
At first glance that seemed great, but then i realized switching between tabs was VERY glitchy. and adding new lists took around 10x more time than usual (the loader stayed on for around 20 seconds!) And even though the memory looked good, the program was useless like this.Then i decided to mess around differently. I removed GC.Collect from the entire solution. It was no longer called even once.At first glance, when i launched the app it consumed just under 60K memory. That seemed terrible. However i realized something: even though my program in that state showed on taskmanager that it was consuming alot more memory than usual, it seemed like it was lighter than ever! Switching tabs was faster than before, especially every time i go to the tab that has the listbox control with 100k items. Loading items took around 3-4 seconds, but there was no stutter when the list finished loading whereas before it had an evident 0.3s stutter after the items were added.
This was all surprising to me because i thought GC.Collect was first of all, something that it doesnt matter where or how many times you call it. I thought it was just something that should be called at the end of work and i didnt think it would matter if it was called during work.Second of all, i thought GC.Collect only affected resources that are inaccessible, or resources my program is done with. How come the application feels faster when i don't call it?Third of all, i thought the VB CLR does most of the memory cleaning for me, and that GC.Collect was somewhat of a redundant command. It didn't seem so redundant to me at all considering the difference between using it heavily and not using it at all was around 38K in memory usage!
So i guess my questions are:
1) Do I need to call GC.Collect? WhereWhen do i call it?2) Why does calling it affect performance? And where does one draw the line between that memory stat on taskmanager and the program's performance?3) I also decided to run a small test. Why does a blank vb form application require 10K memory? How accurate is that stat shown on the task manager?