Could not evaluate expression
-
cr5, icr, factory, sec, and the code that calls the factory get method are all separate dll's (compiled separately), but I own them (I own everything being run). Different projects. I used to be able to step into the cr5 code, and would expect to be able to step into the constructor/variable definition area, but for some reason it's not working. (message is step into: stepping over method without symbols 'cr5_new.cr5.cr5' shows in output window) I looked into this message, and found a couple of links: [^] http://stackoverflow.com/questions/1495720/stepping-over-method-without-symbols-how-to-step-into[^] I do have a pdb file for the cr5 build. I can't put a breakpoint in cr5 because the debugger is stepping over it and the implementation is in a separate project. It seems that you think the error message in the subject isn't my issue. If I could figure out how to step into my cr5 class, that would help me figure out what the issue is. Thanks!
Are all thes eprojects in the same solution or are they seperate solutions?? Is everything compiled Debug?? Are you referencing the .DLL's in the other projects directly or are you referencing the projects themselves??
A guide to posting questions on CodeProject[^]
Dave Kreskowiak -
cr5, icr, factory, sec, and the code that calls the factory get method are all separate dll's (compiled separately), but I own them (I own everything being run). Different projects. I used to be able to step into the cr5 code, and would expect to be able to step into the constructor/variable definition area, but for some reason it's not working. (message is step into: stepping over method without symbols 'cr5_new.cr5.cr5' shows in output window) I looked into this message, and found a couple of links: [^] http://stackoverflow.com/questions/1495720/stepping-over-method-without-symbols-how-to-step-into[^] I do have a pdb file for the cr5 build. I can't put a breakpoint in cr5 because the debugger is stepping over it and the implementation is in a separate project. It seems that you think the error message in the subject isn't my issue. If I could figure out how to step into my cr5 class, that would help me figure out what the issue is. Thanks!
When you reference the assemblies in your project, if they are in the same solution, it's a great idea to make sure that you have added them as project references, rather than browsing to the DLLs and selecting those. One thing I would check - do a clean on your solution (make sure you actually remove the bin directories as well), and then do a full rebuild - look to see if the pdb file for the cr5 assembly has been copied into the bin directory of the executing process.
I was brought up to respect my elders. I don't respect many people nowadays.
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier -
I've been looking at a problem for the last couple of days, that hopefully someone has an answer for. When I get my variable (cr) as shown below, I can't use the variable and then step into the next method call and code that once worked is now not working. When I look into the class definition inside cr, it says "could not evaluate expression" edfed for the variable inside the class (cr). I've searched the internet and found a couple of sources that seem to be saying that I have something that's null, but I'm not seeing why edfed would be null here. http://stackoverflow.com/questions/9558498/could-not-evaluate-expression-activator-createinstancet[^] This is where I obtain my class definition of cr:
cr = factory.GetCR(type);
I can show you the factory GetCR method, but I don't think there's an issue there:
public iCR GetCR(CRType type)
{
iCR cr = null;
switch (type)
{
case CRType.CR5:
cr = new CR5_new.CR5();
break;
}
}In my CR5 class, this is how I define edfed. (It's possible that I could do something more in a C# way here and less of a C++ way like I'm familiar with; feel free to make suggestions):
using Sec_;
namespace CR5_new
{
public class CR5:iCR
{
Sec edfed = null;//constructor public CR5() { edfed = new Sec(); System.Diagnostics.Debug.WriteLine("edfed definition: " + edfed); //this print statement doesn't show up. Not sure why }
...
I also tried defining edfed in CR5 as follows and get the same result:
using Sec_;
namespace CR5_new
{
public class CR5:iCR
{
Sec edfed = new Sec(); //the difference//constructor public CR5() { System.Diagnostics.Debug.WriteLine("edfed definition: " + edfed); //this print statement doesn't show up. Not sure why }
...
I'm hoping someone has a good suggestion of what I could do to fix this. It's really stumping us. Thanks.
-
Are all thes eprojects in the same solution or are they seperate solutions?? Is everything compiled Debug?? Are you referencing the .DLL's in the other projects directly or are you referencing the projects themselves??
A guide to posting questions on CodeProject[^]
Dave KreskowiakThank you for the suggestions. The projects are separate solutions. They are all compiled debug, according to Build->Configuration Manager->Configuration . I reference the .dll's in the other projects directly (Solution Explorer->References->Browse to the .dll of the other project). It's possible that I am implementing a more C++-centric solution and that there is a more c# way that would make the project more stable, and I'd be open to that idea. It could also be that there's another setting somewhere in the project that got messed up...
-
what is
edfed = new Sec();
this Sec class do here? have you tried to put a break point in Sec class constructor and see whether it hits or not
Jibesh V P
-
When you reference the assemblies in your project, if they are in the same solution, it's a great idea to make sure that you have added them as project references, rather than browsing to the DLLs and selecting those. One thing I would check - do a clean on your solution (make sure you actually remove the bin directories as well), and then do a full rebuild - look to see if the pdb file for the cr5 assembly has been copied into the bin directory of the executing process.
I was brought up to respect my elders. I don't respect many people nowadays.
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier -
what is
edfed = new Sec();
this Sec class do here? have you tried to put a break point in Sec class constructor and see whether it hits or not
Jibesh V P
Thanks Jibesh. The code you reference above is in the constructor of cr5 and edfed is the variable name and Sec is the class. In this example, I also have
Sec edfed = null;
in the variable declaration section above the constructor. I have also tried putting the whole thing above the constructor as a class variable:
Sec edfed = new Sec();
But I still see "could not evaluate expression" for edfed in cr5 class.
-
When you say it's better to add them as project references, could you clarify this? You're not talking about going to Solution Explorer->References->Browse to other solution dll?
In the References dialog you can pick what you want to set a reference to. That includes Browsing to a .DLL, a registered .NET assembly, or another project. The thing is that project needs to be part of the solution you're currently in. It would be better for you if you added these other .DLL projects to a single solution.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak -
Thanks Jibesh. The code you reference above is in the constructor of cr5 and edfed is the variable name and Sec is the class. In this example, I also have
Sec edfed = null;
in the variable declaration section above the constructor. I have also tried putting the whole thing above the constructor as a class variable:
Sec edfed = new Sec();
But I still see "could not evaluate expression" for edfed in cr5 class.
I'll throw you a bone... I've copied code into a C# program that introduced unprintable characters that wound up generating bizarre compiler errors. Delete the offending code and re-type it. P.S. I find your obfusticating of code snippets ... obfusticating (it's all been done before) ... unless you're worried about your "boss" seeing what you're posting.
-
I'll throw you a bone... I've copied code into a C# program that introduced unprintable characters that wound up generating bizarre compiler errors. Delete the offending code and re-type it. P.S. I find your obfusticating of code snippets ... obfusticating (it's all been done before) ... unless you're worried about your "boss" seeing what you're posting.
-
When you reference the assemblies in your project, if they are in the same solution, it's a great idea to make sure that you have added them as project references, rather than browsing to the DLLs and selecting those. One thing I would check - do a clean on your solution (make sure you actually remove the bin directories as well), and then do a full rebuild - look to see if the pdb file for the cr5 assembly has been copied into the bin directory of the executing process.
I was brought up to respect my elders. I don't respect many people nowadays.
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easierThat was the best idea all day. I did a clean build in all of the projects/solutions and had a compiler error where it was complaining about a deleted method. I found an old exe file in my main program debug directory. It's date didn't match the dll and pdb files associated with it (this was for the cr5 class). Every time I cleaned and rebuilt it was re-copied into the directory. Finally, I added the class as a reference in my main program and another program, and it went away. I didn't think I would need to add cr5 as a reference in a class that wasn't using it, but the other solutions were called in the program (and putting the cr5 build files in it's directory), so I guess it needed it. Thanks!!!!
-
That was the best idea all day. I did a clean build in all of the projects/solutions and had a compiler error where it was complaining about a deleted method. I found an old exe file in my main program debug directory. It's date didn't match the dll and pdb files associated with it (this was for the cr5 class). Every time I cleaned and rebuilt it was re-copied into the directory. Finally, I added the class as a reference in my main program and another program, and it went away. I didn't think I would need to add cr5 as a reference in a class that wasn't using it, but the other solutions were called in the program (and putting the cr5 build files in it's directory), so I guess it needed it. Thanks!!!!
I'm glad you got there in the end. Good job.
I was brought up to respect my elders. I don't respect many people nowadays.
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier -
In the References dialog you can pick what you want to set a reference to. That includes Browsing to a .DLL, a registered .NET assembly, or another project. The thing is that project needs to be part of the solution you're currently in. It would be better for you if you added these other .DLL projects to a single solution.
A guide to posting questions on CodeProject[^]
Dave Kreskowiak -
I'm glad you got there in the end. Good job.
I was brought up to respect my elders. I don't respect many people nowadays.
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier -
I'll throw you a bone... I've copied code into a C# program that introduced unprintable characters that wound up generating bizarre compiler errors. Delete the offending code and re-type it. P.S. I find your obfusticating of code snippets ... obfusticating (it's all been done before) ... unless you're worried about your "boss" seeing what you're posting.
BTW, my boss is quite aware that I ask questions on websites and approves of the changes I make. He knows that we have a very small user's group and I'm the only programmer (and there's only one other c# programmer), so understands when I need to ask other people's opinion. I'm sorry if the snippets don't encompass the entire project, but I've had people complain about the opposite. They complain when I show too much code and info. Luckily, I figured it out, and I'm all set.
-
You have been very helpful. Thank you so much for all of your help. Is there a way I can give you "credit" on this site for your help? I know on other sites I've voted people "up", but I'm not seeing that here.
When you have a message open, there's a green and red arrow at the left hand side of it. Click the green to vote up and the red to down vote.
I was brought up to respect my elders. I don't respect many people nowadays.
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier -
You have been very helpful. Thank you so much for all of your help. Is there a way I can give you "credit" on this site for your help? I know on other sites I've voted people "up", but I'm not seeing that here.
Pete beat me to answering, but you're welcome!
A guide to posting questions on CodeProject[^]
Dave Kreskowiak -
I'm glad you got there in the end. Good job.
I was brought up to respect my elders. I don't respect many people nowadays.
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier -
Look in messages, not Q&A Questions. It's in there.
I was brought up to respect my elders. I don't respect many people nowadays.
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier